簡體   English   中英

使用 Visual Studio 為 C++ wxwidgets 項目生成可部署的二進制文件時遇到問題

[英]Trouble generating a deployable binary for a C++ wxwidgets project using Visual Studio

我在使用 Visual Studio 為 C++ wxwidgets 項目生成可部署的二進制文件時遇到問題。 構建完成后,生成的 exe 似乎沒有安裝在任何其他 Windows 機器上。 Visual Studio 2019 用於創建包含 openCV 的 GUI 庫。 我正在嘗試創建一個獨立的可執行文件 .exe 以在任何其他 Windows 計算機上運行它,而無需在其中安裝 Visual Studio 或 opencv。 早些時候,在其他計算機上打開可執行文件時,它給出了 openCV 和 wxwidgets 缺少 dll 的錯誤。 所以,我已經從 openCV 和 wxwidgets bin 文件夾的目錄中復制了所需的 dll。 現在,當我嘗試執行 exe 文件時,它顯示以下錯誤。 請幫我解決這個問題。

錯誤 1 錯誤 2 錯誤 3 錯誤 4

使用動態鏈接的 C/C++ 運行時 ( /MD[d] ) 構建的應用程序需要目標計算機上適當的 x86(32 位)或 x64(64 位)VC++ 可再發行組件。 它們可以從最新支持的 Visual C++ 下載安裝,也可以包含在應用程序中以進行本地部署

此外,請確保僅發送非調試(配置 = 發布)版本。

 MSVCP140D.dll VCRUNTIME140D.dll VCRUNTIME140_1D.dll ucrtbased.dll

那些缺失的 DLL 名稱中的'D'后綴代表“調試”。 這些是調試C/C++ 運行時 DLL,由 Configuration = Debug 版本使用,並作為 Visual Studio 設置的一部分安裝。 它們將在開發期間使用,但不會以其他方式部署,根據確定要重新分發的 DLL

應用程序的調試版本和各種 Visual C++ 調試 DLL 不可再分發。

似乎您正在使用 wxWidgets 的 DLL 構建,並將 OpenCV 構建為 DLL。

如果您自己沒有創建 DLL 並且您的軟件是一個自包含的二進制文件,那么最好使用靜態鏈接 wxWidgets 和 OpenCV。

除了@dxiv 之外,並非 MS CRT 中的所有內容都可以靜態鏈接使用。 這就是為什么強烈建議通過創建安裝程序來安裝 MS CRT,它應該處理所有這些依賴項。

哈。

謝謝你。

暫無
暫無

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

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