OpenCV 未定义引用 'vtable for cv::HOGDescriptor'
OpenCV undefined reference to `vtable for cv::HOGDescriptor'
我正在尝试通过Eclipse CDT使用OpenCV 3 hog和svm编译我自己的对象检测器,但在编译控制台时返回以下内容:
Building target: HogDetection
Invoking: GCC C++ Linker
g++ -L/usr/local/lib -o "HogDetection" ./main.o ./phog.o ./psvm.o -lopencv_core -lopencv_imgcodecs -lopencv_highgui -lopencv_ml
./phog.o: In function `cv::HOGDescriptor::HOGDescriptor()':
/usr/local/include/opencv2/objdetect.hpp:348: undefined reference to `vtable for cv::HOGDescriptor'
./phog.o: In function `cv::HOGDescriptor::~HOGDescriptor()':
/usr/local/include/opencv2/objdetect.hpp:372: undefined reference to `vtable for cv::HOGDescriptor'
collect2: error: ld returned 1 exit status
make: *** [HogDetection] Error 1
可能我在库上做错了什么,但由于我是 c++ 和 OpenCV 的新手,我按照教程使用 openCV 设置 eclipse CDT,并且我能够运行其他简单的教程(那些在 openCV 网站上,如显示图像等......
我还在维基百科上阅读了一些关于vtable和这里的东西,但这还不足以让我了解这里发生的事情。提前谢谢。
我通过将库添加到 gcc c++ 链接器库来解决问题opencv_objdetect
好吧,
如果您正在使用制作文件,那么只需添加
LIBS += -L/usr/local/libs \ -lopencv_objdetect \
或者如果你没有makefile,那么只需运行这样的
代码g++ -Wall main.cpp/usr/lib/libopencv_objdetect.a -o main
相关文章:
- 编译C++时未定义的引用
- vscode g++链路故障:体系结构x86_64的未定义符号
- 如何修复此错误:未定义对"距离(浮点数,浮点数,浮点数,浮点数,浮点数)"的引用
- 我的项目不会像"undefined reference to `grpc::g_core_codegen_interface'"那样使用未定义的引用错误进行编译
- 不知道某个东西是否被忽略会引入未定义的行为吗
- 对C宏的未定义引用,但在定义它时会出现重新定义错误
- 未定义的引用在哪里
- 编译时的 CImg 库返回对"__imp_SetDIBitsToDevice"的未定义引用
- 对Py_Initialize()的未定义引用
- c++11评估顺序(未定义的行为)
- 使用mysql c++连接器的未定义引用
- 从python调用openMP共享库时,未定义opnMP函数
- 在 Mac 上使用 CMAKE 将 FFTW 和 FFTWPP 链接到项目中时未定义的符号
- Cmake 链接问题:未定义对 Button::mousePressEvent(QGraphicsSceneMouseE
- 未定义的引用 .. 使用 OpenCV 编译 C++ 代码时,从命令行
- 具有外部"c"和程序集的未定义函数
- 此增量后语句是否会导致未定义的行为?
- 尝试调用 .h 文件中定义的变量时出现变量未定义错误
- 在C++中使用内联方法时出现未定义的符号错误
- 对 Scalar ::Scalar() 的未定义引用