未定义的引用cv :: Exception :: Exception - 编译opencv

时间:2015-03-14 10:04:58

标签: c++ windows opencv undefined-reference haar-classifier

我正在尝试按照本教程创建一个haar分类器:http://coding-robin.de/2013/07/22/train-your-own-opencv-haar-classifier.html

我在编译opencv C ++文件的部分,使用mergevec.cpp,约为1/4。我进入了

g++ -L C:\opencv\build\x64\vc11\lib -IC:\opencv\build\include\opencv -IC:\opencv\build\include\opencv -IC:\opencv\build\include\opencv2 -I.-o mergevec mergevec.cpp\
    cvboost.cpp cvcommon.cpp cvsamples.cpp cvhaarclassifier.cpp\
    cvhaartraining.cpp\
    -lopencv_core2411 -lopencv_calib3d2411 -lopencv_imgproc2411 -lopencv_highgui2411 -lopencv_objdetect2411 

(Pkg-config为我创建了很多问题,所以我直接在命令中指定了include和lib目录)。我得到了以下输出:

C:\Users\nancy\AppData\Local\Temp\cco1Zm1B.o:cvboost.cpp:(.text+0x3f67): undefined reference to `cv::Exception::Exception(int, std::string const&, std::string const&, std::string const&, int)'
C:\Users\nancy\AppData\Local\Temp\cco1Zm1B.o:cvboost.cpp:(.text+0x3f80): undefined reference to `cv::error(cv::Exception const&)'
C:\Users\nancy\AppData\Local\Temp\cco1Zm1B.o:cvboost.cpp:(.text+0x3f8f): undefined reference to `cv::Exception::~Exception()'
C:\Users\nancy\AppData\Local\Temp\cco1Zm1B.o:cvboost.cpp:(.text+0x4106): undefined reference to `cv::Exception::Exception(int, std::string const&, std::string const&, std::string const&, int)'
C:\Users\nancy\AppData\Local\Temp\cco1Zm1B.o:cvboost.cpp:(.text+0x411f): undefined reference to `cv::error(cv::Exception const&)'
C:\Users\nancy\AppData\Local\Temp\cco1Zm1B.o:cvboost.cpp:(.text+0x412e): undefined reference to `cv::Exception::~Exception()'
C:\Users\nancy\AppData\Local\Temp\cco1Zm1B.o:cvboost.cpp:(.text+0x42d2): undefined reference to `cv::Exception::Exception(int, std::string const&, std::string const&, std::string const&, int)'
C:\Users\nancy\AppData\Local\Temp\cco1Zm1B.o:cvboost.cpp:(.text+0x42eb): undefined reference to `cv::error(cv::Exception const&)'
C:\Users\nancy\AppData\Local\Temp\cco1Zm1B.o:cvboost.cpp:(.text+0x42fa): undefined reference to `cv::Exception::~Exception()'
C:\Users\nancy\AppData\Local\Temp\cco1Zm1B.o:cvboost.cpp:(.text+0x447a): undefined reference to `cv::Exception::Exception(int, std::string const&, std::string const&, std::string const&, int)'
C:\Users\nancy\AppData\Local\Temp\cco1Zm1B.o:cvboost.cpp:(.text+0x4493): undefined reference to `cv::error(cv::Exception const&)'
C:\Users\nancy\AppData\Local\Temp\cco1Zm1B.o:cvboost.cpp:(.text+0x44a2): undefined reference to `cv::Exception::~Exception()'
C:\Users\nancy\AppData\Local\Temp\cco1Zm1B.o:cvboost.cpp:(.text+0x4634): undefined reference to `cv::Exception::Exception(int, std::string const&, std::string const&, std::string const&, int)'
C:\Users\nancy\AppData\Local\Temp\cco1Zm1B.o:cvboost.cpp:(.text+0x464d): undefined reference to `cv::error(cv::Exception const&)'
C:\Users\nancy\AppData\Local\Temp\cco1Zm1B.o:cvboost.cpp:(.text+0x465c): undefined reference to `cv::Exception::~Exception()'
C:\Users\nancy\AppData\Local\Temp\cco1Zm1B.o:cvboost.cpp:(.text+0x47e1): undefined reference to `cv::Exception::Exception(int, std::string const&, std::string const&, std::string const&, int)'
C:\Users\nancy\AppData\Local\Temp\cco1Zm1B.o:cvboost.cpp:(.text+0x47fa): undefined reference to `cv::error(cv::Exception const&)'
C:\Users\nancy\AppData\Local\Temp\cco1Zm1B.o:cvboost.cpp:(.text+0x4809): undefined reference to `cv::Exception::~Exception()'
C:\Users\nancy\AppData\Local\Temp\cco1Zm1B.o:cvboost.cpp:(.text+0x49ee): undefined reference to `cv::Exception::Exception(int, std::string const&, std::string const&, std::string const&, int)'
C:\Users\nancy\AppData\Local\Temp\cco1Zm1B.o:cvboost.cpp:(.text+0x4a07): undefined reference to `cv::error(cv::Exception const&)'
C:\Users\nancy\AppData\Local\Temp\cco1Zm1B.o:cvboost.cpp:(.text+0x4a16): undefined reference to `cv::Exception::~Exception()'
C:\Users\nancy\AppData\Local\Temp\cco1Zm1B.o:cvboost.cpp:(.text+0x4b9b): undefined reference to `cv::Exception::Exception(int, std::string const&, std::string const&, std::string const&, int)'
C:\Users\nancy\AppData\Local\Temp\cco1Zm1B.o:cvboost.cpp:(.text+0x4bb4): undefined reference to `cv::error(cv::Exception const&)'
C:\Users\nancy\AppData\Local\Temp\cco1Zm1B.o:cvboost.cpp:(.text+0x4bc3): undefined reference to `cv::Exception::~Exception()'
C:\Users\nancy\AppData\Local\Temp\cco1Zm1B.o:cvboost.cpp:(.text+0x5168): undefined reference to `cv::Exception::~Exception()'
C:\Users\nancy\AppData\Local\Temp\cco1Zm1B.o:cvboost.cpp:(.text+0x52bc): undefined reference to `cv::Exception::~Exception()'
C:\Users\nancy\AppData\Local\Temp\cco1Zm1B.o:cvboost.cpp:(.text+0x53db): undefined reference to `cv::Exception::~Exception()'
C:\Users\nancy\AppData\Local\Temp\cco1Zm1B.o:cvboost.cpp:(.text+0x54fa): undefined reference to `cv::Exception::~Exception()'
C:\Users\nancy\AppData\Local\Temp\cco1Zm1B.o:cvboost.cpp:(.text+0x5619): more undefined references to `cv::Exception::~Exception()' follow

...

c:/program files/haskell platform/2014.2.0.0/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.6.3/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\nancy\AppData\Local\Temp\cco1Zm1B.o: bad reloc address 0x0 in section `.data'
collect2: ld returned 1 exit status

我不确定导致此错误的原因。我在Windows 7计算机上使用命令提示符,并从目录C:\ opencv \ sources \ apps \ haartraining

运行它

我可以在https://github.com/matitone/OpenCV_Example找到我的cvboost.cpp的副本,该副本位于opencv / sources / apps / haartraining中。我相信这是导致错误的文件。

如果有更多信息有用,请告诉我。谢谢。

0 个答案:

没有答案