0
我試過編譯CvEM example的文檔。我已經將庫搜索路徑設置爲opencv \ lib以及include路徑。我已經包括了-lml機器學習庫,但是我reveive以下錯誤:機器學習庫OpenCV 2.1
undefined reference to
CvEM::CvEM()
如果我評論CvEM em_model
代碼編譯:
// CvEM em_model;
CvEMParams params;
CvEMParams不會導致錯誤,所以我認爲包含路徑是可以的。有誰知道如何解決這個問題?
如果我在Visual Studio中運行代碼,它運行完美。
編輯:添加其他信息
我.pro文件具有以下命令
INCLUDEPATH += C:/OpenCV2.1/include
INCLUDEPATH += C:/OpenCV2.1/include/opencv
LIBS += -L"C:/OpenCV2.1/bin" -lcv210 -lcxcore210 -lcvaux210 -lhighgui210 -lml210 -lcxts210 \-lnetapi32`
而且我編譯如下:
Running build steps for project Check...
Configuration unchanged, skipping qmake step.
Starting: "C:\QtSDK\mingw\bin\mingw32-make.exe"
C:/QtSDK/mingw/bin/mingw32-make -f Makefile.Debug
mingw32-make[1]: Entering directory `C:/Documents and Settings/Bush/Check-build-desktop-Qt_4_7_4_for_Desktop_-_MinGW_4_4__Qt_SDK__Debug'
g++ -mthreads -Wl,-subsystem,windows -o debug\Check.exe debug/main.o debug/mainwindow.o debug/moc_mainwindow.o -L"c:\QtSDK\Desktop\Qt\4.7.4\mingw\lib" -lmingw32 -lqtmaind -LC:/OpenCV2.1/bin -lcv210 -lcxcore210 -lcvaux210 -lhighgui210 -lml210 -lcxts210 -lnetapi32 -lQtGuid4 -lQtCored4 -LC:\OpenSSL-Win32_full\lib
mingw32-make[1]: Leaving directory `C:/Documents and Settings/Bush/Check-build-desktop- Qt_4_7_4_for_Desktop_-_MinGW_4_4__Qt_SDK__Debug'
debug/mainwindow.o: In function `MainWindow':
C:\Documents and Settings\Bush\Check-build-desktop-Qt_4_7_4_for_Desktop_-_MinGW_4_4__Qt_SDK__Debug/../Check/mainwindow.cpp:23: undefined reference to `CvEM::CvEM()'
C:\Documents and Settings\Bush\Check-build-desktop-Qt_4_7_4_for_Desktop_-_MinGW_4_4__Qt_SDK__Debug/../Check/mainwindow.cpp:49: undefined reference to `CvEM::train(CvMat const*, CvMat const*, CvEMParams, CvMat*)'
C:\Documents and Settings\Bush\Check-build-desktop-Qt_4_7_4_for_Desktop_-_MinGW_4_4__Qt_SDK__Debug/../Check/mainwindow.cpp:59: undefined reference to `CvEM::predict(CvMat const*, CvMat*) const'
C:\Documents and Settings\Bush\Check-build-desktop-Qt_4_7_4_for_Desktop_-_MinGW_4_4__Qt_SDK__Debug/../Check/mainwindow.cpp:76: undefined reference to `CvEM::~CvEM()'
C:\Documents and Settings\Bush\Check-build-desktop-Qt_4_7_4_for_Desktop_-_MinGW_4_4__Qt_SDK__Debug/../Check/mainwindow.cpp:76: undefined reference to `CvEM::~CvEM()'
C:\Documents and Settings\Bush\Check-build-desktop-Qt_4_7_4_for_Desktop_-_MinGW_4_4__Qt_SDK__Debug/../Check/mainwindow.cpp:23: undefined reference to `CvEM::CvEM()'
C:\Documents and Settings\Bush\Check-build-desktop-Qt_4_7_4_for_Desktop_-_MinGW_4_4__Qt_SDK__Debug/../Check/mainwindow.cpp:49: undefined reference to `CvEM::train(CvMat const*, CvMat const*, CvEMParams, CvMat*)'
C:\Documents and Settings\Bush\Check-build-desktop-Qt_4_7_4_for_Desktop_-_MinGW_4_4__Qt_SDK__Debug/../Check/mainwindow.cpp:59: undefined reference to `CvEM::predict(CvMat const*, CvMat*) const'
C:\Documents and Settings\Bush\Check-build-desktop-Qt_4_7_4_for_Desktop_-_MinGW_4_4__Qt_SDK__Debug/../Check/mainwindow.cpp:76: undefined reference to `CvEM::~CvEM()'
C:\Documents and Settings\Bush\Check-build-desktop-Qt_4_7_4_for_Desktop_-_MinGW_4_4__Qt_SDK__Debug/../Check/mainwindow.cpp:76: undefined reference to `CvEM::~CvEM()'
collect2: ld returned 1 exit status
mingw32-make[1]: *** [debug\Check.exe] Error 1
mingw32-make: *** [debug] Error 2
The process "C:\QtSDK\mingw\bin\mingw32-make.exe" exited with code 2.
Error while building project Check (target: Desktop)
When executing build step 'Make'
您正在使用哪個版本的OpenCV?什麼是你用來編譯的完整命令?此外,您提供的鏈接已損壞,請您仔細檢查一下。 – Chris 2011-12-15 09:21:23
謝謝克里斯,我更新了我的帖子。我期待着您的迴音。 – Louis 2011-12-15 19:36:38