簡體   English   中英

Visual Studio - C++ - 以 32 位或 64 位形式構建和運行應用程序 - 從適當的 ProgramFiles 目錄加載 DLL

[英]Visual Studio - C++ - build and run app as 32bit or 64bit - load DLL from appropripate ProgramFiles dir

我將我的應用程序構建為 x86 或 x64。 此應用程序使用外部 DLL。

我有 x64 系統(Windows 10),並為兩個平台(x86 和 x64)安裝了相同的 DLL 庫。 它們被放置在適當的 Program Files 目錄中的相同文件夾中。 我可以手動將路徑設置為環境變量 PATH 中的任何一個,它就可以了。 但是當我切換平台並想測試另一個平台時,重寫PATH並重置計算機有點不方便。 有什么解決方案,系統如何從正確的程序文件目錄中自動加載正確的 DLL?

復制可執行文件旁邊的構建位置中的 DLL,對於 Visual Studio,這通常是體系結構相關子目錄(即 x86 或 x64)中的\\Debug\\Release 只需確保在項目設置中正確設置了目標/輸出位置。

您只需復制一次,或更准確地說:每次“清潔”解決方案后。 為了使這更容易,許多人使用 dll 復制腳本(使用批處理、ruby 或 python)並讓它在構建之前或清理之后自動運行。 您可以在可在 Visual Studio 解決方案或項目設置中配置的預構建步驟后構建步驟中執行腳本。

還有一種更強大的方法來處理構建工件和特性:我強烈建議使用CMake來保持構建矩陣的組織。 它提供了一種通用的跨平台方法來執行腳本預構建和構建后操作,例如跟蹤依賴項、復制文件、打包安裝程序、部署、版本驗證、版本控制等。它帶有簡單的腳本語言,因此您可以構建宏和函數來進行復制。 正確使用它可能需要一些學習曲線,但是一旦它在那里,它就提供了一種強大可靠的方式來構建您的項目構建管道。

我找到了從 Visual Studio 運行應用程序的解決方案: 如何在 Visual Studio 中設置 DLL 文件的路徑?

它正在按預期工作。 如果我運行 app outise Visual Studio,我自己設置了 PATH 變量並且也在工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM