【问题标题】:c++ compile error when I try to learn opencv_train_features当我尝试学习 opencv_train_features 时 c++ 编译错误
【发布时间】:2014-12-15 10:10:16
【问题描述】:

我是学习如何训练opencv的功能的jackaroo,我在url下参考了这些。

http://coding-robin.de/2013/07/22/train-your-own-opencv-haar-classifier.html


以上文章作者建议通过他的项目来学习,比如这里。

https://github.com/mrnugget/opencv-haar-classifier-training


而我一步一步地学习, 但是在我将mergevec.cpp复制到我的opencv应用程序目录后,在同一个模具中,像这样

cp src/mergevec.cpp ~/opencv-2.4.9/apps/haartraining
cd ~/opencv-2.4.9/apps/haartraining

然后,我想通过以下方法获取可执行文件mergevec

g++ `pkg-config --libs --cflags opencv` -I. -o mergevec mergevec.cpp\
cvboost.cpp cvcommon.cpp cvsamples.cpp cvhaarclassifier.cpp\
cvhaartraining.cpp\
-lopencv_core -lopencv_calib3d -lopencv_imgproc -lopencv_highgui -lopencv_objdetect

我得到错误

/tmp/cc9GpmMW.o: In function `JpgDatasetGenerator::JpgDatasetGenerator(char const*)':
cvhaartraining.cpp:(.text+0xafd5): undefined reference to `IOutput::createOutput(char const*, IOutput::OutputType)'
/tmp/cc9GpmMW.o: In function `PngDatasetGenerator::PngDatasetGenerator(char const*)':
cvhaartraining.cpp:(.text+0xb24d): undefined reference to `IOutput::createOutput(char const*, IOutput::OutputType)'
cvhaartraining.cpp:(.text+0xb24d): undefined reference to `IOutput::createOutput(char const*, IOutput::OutputType)'


我试图通过浏览 opecv 论坛的文章来解决这个问题,但几乎一无所获。

那么,嗯,有人可以帮助我吗?非常感谢..

【问题讨论】:

  • 这个问题与opencv“an sich”无关:它只是意味着你的文件找不到函数“createOutput”的实现。可能您应该链接到另一个包含它的对象或库。

标签: c++ opencv training-data


【解决方案1】:

IOutput 是一个接口,其方法在 ioutput.h 中声明,并且必须在某处实现。我发现它们是在 cvsamplesoutput.cpp 实现的,所以我们只需要让 gcc 编译那个文件。为此,正确的命令应该是:

g++ `pkg-config --libs --cflags opencv` -I. -o mergevec mergevec.cpp\
cvboost.cpp cvcommon.cpp cvsamples.cpp cvhaarclassifier.cpp\
cvhaartraining.cpp cvsamplesoutput.cpp\
-lopencv_core -lopencv_calib3d -lopencv_imgproc -lopencv_highgui -lopencv_objdetect

【讨论】:

  • 它仍然给我链接错误 - ld: library not found for -llibtbb.dylib clang: error: linker command failed with exit code 1 (use -v to see invocation)
  • 如果您仍然对 llibtbb.dylib 文件有疑问,请查看以下答案:stackoverflow.com/a/37259964/435040
猜你喜欢
  • 2015-05-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-06
相关资源
最近更新 更多