2011-08-07 80 views
0

我設法編譯使用OpenCV與QtCreator成功的程序,但我有一個問題,當我嘗試執行我的應用程序的DLL。QtCreator和OpenCV

enter image description here

這是錯誤我得到。奇怪的是,我沒有這個DLL在我的系統中。 我試圖下載它,並將其與可執行文件放在同一個目錄中,但我得到了同樣的錯誤。

這裏是我的.pro文件

LIBS += -Lc:/Users/Libraries/OpenCV2.3/build/x86/mingw/bin/ 

LIBS += -lopencv_calib3d230 \ 
     -lopencv_contrib230\ 
     -lopencv_core230 \ 
     -lopencv_features2d230 \ 
     -lopencv_flann230 \ 
     -lopencv_gpu230 \ 
     -lopencv_highgui230 \ 
     -lopencv_imgproc230 \ 
     -lopencv_legacy230 \ 
     -lopencv_ml230 \ 
     -lopencv_objdetect230 \ 
     -lopencv_video230 

INCLUDEPATH += c:/Users/Libraries/OpenCV2.3/build/include/ 

SOURCES += \ 
    main.cpp 

任何人都知道爲什麼會出現這個問題呢?

回答

1

我發現哪裏出了問題。 我再次編譯opencv並將我的.pro文件更改爲從該文件夾鏈接。

與爲Windows提供的opencv-superpack軟件包鏈接導致此問題。

我希望這會幫助其他人面臨同樣的問題。

+1

如果你能提供一個在mingw和msys的win32上進行安裝的演練,我將不勝感激 – nurettin

+1

你是否面臨同樣的問題?對我來說,解決方案非常簡單。我不得不從源代碼編譯opencv,因爲我的編譯器版本與提供給superpack的dll不一樣。如果您使用的是QtCreator,只需使用第一篇文章中的.pro文件即可。 – kechapito

+0

這是一個很棒的提示,我沒有在那裏看到.pro文件。然而,我幫助自己進入了一些cmake,對於任何對未來感興趣的人來說,這是成功的故事:http://voidpage.blogspot.com/2011/09/building-opencv-on-win32-with-mingw-and.html – nurettin

0

你嘗試,而不是簡單地把DLL的文件夾中,將其添加到您的系統的路徑?

在Win XP是這樣的: 配置面板>系統>高級>路徑

0

下載一個版本的DLL可能不會工作。 libstdC++ - 6.dll應該位於MinGW安裝的bin目錄中(可能包含在QtCreator中,請在那裏查看)。

你必須與你的應用程序分發此DLL(或鏈路與-static)或至少其目錄添加到PATH。

+0

我發現某處我可以使用'QMAKE_CXXFLAGS + = -static',但結果是一樣的。我已經下載了這個已經構建好的dll的超級包。這件事可以對這個問題負責嗎?如果他們是用msvc構建的,我不認爲他們應該使用mingw。 – kechapito

+0

如果你要靜態,所有東西都需要是靜態的(與運行時庫相關)。只是運送DLL,沒有錯。將libstdC++ DLL複製到您的應用程序所在的同一目錄中,然後快速啓動。 – rubenvb

+0

我已經安裝了sdk,現在我有了這個dll。我將dll複製到exe文件夾,我得到相同的錯誤。 – kechapito