隨着OpenCV 2.3的發佈終於出爐,我想在我的系統上編譯和安裝這個最新版本。由於我經常與Qt和QtCreator合作,我當然希望能夠在我的Qt項目中使用它。我現在已經嘗試了多種方法來幾個小時,但總是出現錯誤:在QtCreator中使用OpenCV 2.3和Qt
首先嚐試:編譯的OpenCV 2.3 WITH_QT
首先,我想做到這一點,就像我與2.2版發佈工作得很好爲了我。爲此,我遵循這個指南:http://knowtheabc.wordpress.com/2011/02/25/windows-opencv-and-qt-creator/
- 下載源代碼
- 設置CMake的,並告訴它來創建MinGW的Makefile文件和指定的路徑在我的C的
g++.exe
,gcc.exe
和qmake.exe
:\ Qt的.. 。路徑,檢查WITH_QT併爲發佈版本生成Makefile。 - 建立並使用
mingw32-make
和mingw32-make install
它安裝在後殼這是成功完成,我只是需要的路徑添加到我的「的.pro」文件,並能建立使用一些不錯的軟件OpenCV(在我使用2.2版本的時候)。基本上這裏描述的最後一部分:http://knowtheabc.wordpress.com/2011/02/25/opencv-in-qt/
因此,我試圖與2.3版本相同,編譯成功,就像舊版本一樣。它甚至建立我的示例程序,但只要我執行它,它再次將關閉並返回:-1073741515
第二個嘗試:利用使用MinGW的
作爲第一種方法沒有預構建的OpenCV superpack我嘗試使用預編譯版本。雖然這些沒有啓用WITH_QT,但我仍然想嘗試。
所以我下載了超級包,解壓縮並放在某個地方。然後,我想做同樣的像我一樣以前並添加路徑到包括文件夾和dll文件到我的「的.pro」文件:
INCLUDEPATH+= C:/workspace/opencv/OpenCV2.3/build/include
LIBS+= C:/workspace/opencv/OpenCV2.3/build/x64/mingw/bin/*.dll
由於編譯器我用自帶的當前的Qt MinGW的編譯器SDK。但這種崩潰而建築:
C:/workspace/opencv/OpenCV2.3/build/x64/mingw/bin/libopencv_calib3d230.dll: file not recognized: File format not recognized
collect2: ld returned 1 exit status
mingw32-make[1]: *** [release\CoinDetector.exe] Error 1
mingw32-make: *** [release] Error 2
第三次嘗試:就像第二,但與使用VC2008編譯
我試圖與VC2008編譯器自帶的Qt SDK,以及同樣的事情。所以我選擇了編譯器並在「」中修改了路徑。親」文件中使用:
LIBS+= C:/workspace/opencv/OpenCV2.3/build/x64/vc9/bin/*.dll
但是,這也有錯誤崩潰,它無法讀取該dll:
C:/workspace/opencv/OpenCV2.3/build/x64/vc9/bin/opencv_calib3d230.dll : fatal error LNK1107: Ungültige oder beschädigte Datei: Lesen bei 0x2F0 nicht möglich.
所以在這裏我設置:
- Win7專業版x64
- 最新安裝的Qt SDK(4.7.3)
- OpenCV的2.3版本
沒有任何人有一個想法,什麼可能是錯在這裏?會很高興的任何幫助!
以及作爲學生我有完整的Visual Studio 2008安裝,因爲我通過MSDNAA得到它。所以你使用預建的版本,但只包含lib文件而不是dll?這將是值得一試的......感謝迄今 – evident
好吧,我剛剛嘗試過你的東西,它不再在編譯時給出錯誤...但現在我得到了同樣的錯誤,因爲我在我編譯自己的mingw版本中做了「First嘗試「 - 返回值:-1073741515 ...所以整個問題似乎歸結爲修復該錯誤,那麼它應該與Visual Studio編譯器和MinGW一起工作...... – evident
您是否修改了PATH環境變量?我看起來像地獄,因爲我一直在添加,直到它工作:特別是C:\ OPenCV2.3 \ build \ x86 \ vc9 \ bin; C:\ opencv2.3 \ build \ x86 \ mingw \ bin; c:\ mingw \ bin; c:\ Program Files(x86)\ Microsoft Visual Studion 9.0 \ VC \ bin ... – MisterWalrus