คำถามติดแท็ก dll

dynamic-link library (DLL) เป็นโมดูลที่มีฟังก์ชั่นและข้อมูลที่สามารถใช้โดยโมดูลอื่น (แอปพลิเคชันหรือ DLL) เป็นการดำเนินการตามแนวคิดของไลบรารีที่ใช้ร่วมกันของ Microsoft ในระบบปฏิบัติการ Microsoft Windows และ OS / 2

1
ตัวแปรอินไลน์สามารถเปลี่ยนแปลงได้หลังจากการเริ่มต้นใน C ++ 17 หรือไม่
สถานการณ์ของฉันเป็นดังต่อไปนี้ (มันทำงานในเสียงดังกราว แต่ไม่ได้อยู่ใน gcc) liba.hpp: inline int MY_GLOBAL = 0; libother.cpp: (dll) #include "myliba.hpp" void myFunc() { // MYGLOBAL = 28; } someexe.cpp: RunAppThatUsesBothLibAandLibOther(); ปัญหาคือตัวแปรอินไลน์แสดง 0 ในสถานที่ที่ฉันคาดไว้ 28 เพราะมันถูกแก้ไขอย่างมากในเวลาทำงาน MSVC ไม่เห็นด้วยกับสิ่งนี้ แต่เสียงดังทำตามที่ฉันคาดไว้ คำถามคือ: สามารถแก้ไขตัวแปรอินไลน์ในเวลาทำงานในสถานการณ์ของฉันได้หรือไม่ (ฉันแก้ไขปัญหาโดยการลบตัวแปรออกไป)
11 c++  visual-c++  dll  clang  c++17 

1
กำหนดค่า CMake ใน windows เพื่อใช้เสียงดังกราวจากบรรทัดคำสั่งเพื่อรับการสนับสนุน OpenMP ที่ทันสมัย
ฉันมีโครงการทดสอบขนาดเล็กที่ใช้ OpenMP สำหรับการขนาน เป้าหมายของฉันคือการรวบรวมมันเพื่อผลิต.dllและ.libสำหรับห้องสมุด (เพราะโครงการจริงของฉันเชื่อมโยงไปยังห้องสมุดภายนอกที่กระจายโดยใช้ประเภทเหล่านี้) ด้วยการสนับสนุน OpenMP 4.5 หรือใหม่กว่าและทำจากบรรทัดคำสั่งเพื่อให้สามารถทำได้บนนักเทียบท่าสำหรับ การทดสอบและตรวจสอบ (ส่วนนักเทียบท่าอยู่นอกขอบเขตของคำถามนี้มันเป็นเพียงสำหรับการอ้างอิงในสาเหตุที่ฉันต้องการให้มันทำงานจากบรรทัดคำสั่ง) ฉันสามารถรวบรวมโครงการนี้ด้วยคอมไพเลอร์ต่าง ๆ ที่ฉันไม่มีความสุข: MSVC: mkdir build-msvcแล้วcmake ..(จากโฟลเดอร์ที่สร้างขึ้นใหม่) cmake --build . --config Releaseและในที่สุด สิ่งนี้รวบรวมได้ดี แต่รองรับ OpenMP 2.0 เท่านั้นดังนั้นจึงไม่ใช่ตัวเลือกที่ดีสำหรับโครงการจริงของฉัน Intel Parallel Studio: mkdir build-intelแล้วcmake .. -T "Intel C++ Compiler 19.0"(จากโฟลเดอร์ที่สร้างขึ้นใหม่) cmake --build . --config Releaseและในที่สุด สิ่งนี้สนับสนุน OpenMP 5.0 แต่ลิขสิทธิ์ของฉันค่อนข้างแพงสำหรับฉัน MinGW x …

1
ฉันสามารถหลีกเลี่ยงการเพิ่ม. dll เหล่านี้เมื่อติดตั้งแพคเกจ NuGet ได้หรือไม่?
ฉันเริ่มด้วยการอ่านคำถามที่แนะนำนี้คล้ายกับของฉัน แต่ไม่มีวิธีแก้ปัญหา: ทำไม MSTest.TestAdapter จึงเพิ่ม DLLs ลงในแพ็คเกจ NuGet ของฉัน คำอธิบายปัญหาด่วน ฉันเขียนแพคเกจ NuGet และทุกครั้งที่ฉันติดตั้งNUnitและNUnit3TestAdapter .dllได้รับการเพิ่มเข้าในโครงการที่ฉันติดตั้ง ฉันต้องการค้นหาวิธีแก้ไขปัญหานี้ ทำซ้ำขั้นตอน ฉันผลักที่เก็บคอมไพล์สองแห่งเพื่อสร้างปัญหาที่ฉันกำลังอธิบาย ClientLibrary/ MainFramework(โครงการที่ฉันสร้างแพ็คเกจ NuGet) - https://github.com/harbourc/client-library-repro-nuget-issue TargetProject(โปรเจ็กต์นั้นต้องติดตั้งใน) - https://github.com/harbourc/target-project-repro-nuget-issue คุณสามารถโคลนที่เก็บทั้งสองคืนค่าแพ็คเกจ NuGet และสร้างปัญหาดังต่อไปนี้: ค้นหา ClientLibrary.1.0.0.nupkg ใน client-library-repro-nuget-issue / ClientLibrary / เปิดคอนโซลตัวจัดการแพคเกจสำหรับเป้าหมายโครงการ repro-nuget-issue และเรียกใช้ Install-Package C:\Path\To\client-library-repro-nuget-issue\ClientLibrary\ClientLibrary.1.0.0.nupkg จดบันทึกNUnitและNUnit3TestAdapter .dllของที่ถูกเพิ่มเข้าไปTargetProject- แม้ว่าจะTargetProjectมีNUnitและNUnit3TestAdapterติดตั้งแล้วก็ตาม ภาพรวมอีกต่อไป ผมได้สร้างแพคเกจ NuGet ของตัวเองสำหรับการใช้ภายในเรียกว่าและฉันกำลังพยายามที่จะติดตั้งในโครงการอื่นที่จะเรียกว่าClientLibrary TargetProjectนี่คือการแบ่งโครงสร้างอย่างรวดเร็ว: FullSolution.sln MainFramework.csproj …
10 c#  .net  dll  nuget 

2
VCRUNTIME140_1.dll หายไปหลังจากสร้างโซลูชันด้วย c ++
ฉันสร้างการผจญภัยข้อความเล็ก ๆ ฉันสร้างโซลูชันด้วย Visual Studio Community 2019 โดยใช้การตั้งค่า Release และ x64 ฉันได้บีบอัดไฟล์ * .exe พร้อมกับไฟล์ที่สร้างขึ้นอื่น ๆ และส่งไปยังพีซีเครื่องอื่นที่ไม่มี VS ติดตั้งและข้อผิดพลาดที่คุณเห็นในภาพนั้นเกิดขึ้น ฉันค้นหาพีซีของฉันและมีไฟล์อยู่ในโฟลเดอร์ต่าง ๆ สองอันหนึ่งในนั้นคือ system32 ดังนั้นฉันจึงไม่ทราบว่าจะวางไฟล์ไว้ที่ไหนในพีซีเครื่องใหม่ ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชม ขอบคุณ
10 c++  dll 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.