2010-06-13 26 views
0

我在我的新機器上運行基本的opencv腳本時遇到了問題。我已經安裝了opencv2.1。「應用程序未能啓動,因爲找不到cxcore210.dll」。爲什麼會發生?

C:我從鏈接器鏈接這些文件\ OpenCV2.1 \ LIB \ cv210.lib C:\ OpenCV2.1 \ LIB \ cvaux210.lib C:\ OpenCV2.1 \ LIB \ cxcore210.lib C:\ OpenCV2.1 \ LIB \ highgui210.lib

我運行程序時,它編譯。但是,它給了我上面的錯誤。這是爲什麼?我嘗試鏈接到它描述的dll,它也不喜歡那個。

+1

是否有'cxcore210.dll'在同一目錄下的應用程序的可執行文件位於 – stakx 2010-06-13 18:45:42

+0

不,但我想我可以鏈接到它,而不是複製和粘貼cxcore210.dll到該目錄.. – tomas 2010-06-13 18:46:56

+2

這些.lib文件只是導入庫:你鏈接它們,他們包裝調用'LoadLibrary()'和'GetProcAddress()'和其他相關的DLL函數,這樣你就不必在代碼中明確地做到這一點。您仍然需要在運行時提供該DLL。 – 2010-06-13 18:55:46

回答

2

該DLL需要在DLL search path的某處,否則加載程序將無法找到它。

兩個最簡單的選項是將DLL複製到可執行文件所在的目錄或運行可執行文件的目錄,或者添加DLL所在的目錄到PATH。

+0

將目錄添加到PATH聽起來很理想,但似乎沒有工作。我已經將opencv/bin目錄添加到了環境變量和無骰子的路徑中。 – tomas 2010-06-13 19:08:07

+0

@tomas:添加到路徑後,可能需要重新啓動Visual Studio,註銷並重新登錄或重新啓動;我忘記了重新加載環境塊時規則的作用。 – 2010-06-13 19:16:27

0

這個視頻將幫助你..

http://www.youtube.com/watch?v=9nPpa_WiArI

要不然我想出了另一種解決方案僅僅是dll文件直接複製到C:\ WINDOWS \ Syswow64資料夾(這是我的系統文件夾)。這幫助我和我的代碼被執行。

0

我有同樣的問題:

我正確配置我的項目的屬性,如100個教程說:但從來沒有工作,所以我嘗試將dll文件拷貝到應用程序目錄和作品。我不知道爲什麼連接不看這些DLL

我剛纔複製的cv210.lib,cvaux210.lib,cxcore210.lib,highgui210.lib