2011-08-18 82 views
1

我使用OpenCV和WxWidgets庫創建了一個應用程序。代碼在我的開發機器上運行良好。使用.exe打包庫

然而,當我把它轉移到另一臺Windows機器,我得到的錯誤

*"The program can't start because cv110.dll is missing from your computer. 
    Try reinstalling the program to fix this problem".* 

現在,我猜安裝OpenCV的相同版本和wxWidgets的在開發中會解決這個問題,但這個是有點問我的代碼的一個偶然的第三方用戶。

在我的IDE(Windows可視化C++ 2008)我已經去屬性 - 鏈接到相關的.lib文件>連接器 - >輸入

我怎麼會去包裝.exe文件,這樣它的工作原理在非開發機器上? 即,如果我包含.dll文件,我將如何更改鏈接器配置以反映此問題?或者,.lib文件引用的.dll文件是否可以合併到.exe中?

對不起,我知道這個問題出現之前,但我似乎無法找到一個具體的解決方案我的情況。任何幫助,將不勝感激!

+0

如果您還沒有看到它,請查看以下內容:http://social.msdn.microsoft.com/forums/en-US/vcgeneral/thread/c3490b50-5e02-4495-bfe1-fd114516507a –

+0

@Seth Carnegie noob問題 - 什麼是二進制資源? – kylestephens

+0

就像一個DLL,EXE,圖像,不管。基本上,這不是文字。 –

回答

0

的OpenCV採用的動態庫

正確的事情做的是創建一個包含你的exe文件,你需要正確的dll文件的安裝建造。請參閱https://stackoverflow.com/questions/1285591/installer-recommendation

+0

是否有可能將dll保存在一個子文件夾中,並將它們鏈接到相對於.exe,然後複製並粘貼文件夾與子文件夾? – kylestephens

+0

您不會將DLL鏈接到exe。您需要將該dll放在同一個文件夾中,或路徑中的某處。您可以重寫opencv應用程序以明確地從特定位置加載dll(http://en.wikipedia.org/wiki/Dynamic-link_library#Explicit_run-time_linking),但這不是非常必要 –