c++ Opencv un藐视参考贡献模块



我得到错误未定义引用cv::createFisherFaceRecognizer。

我的头看起来像这样

#include "opencv2/core/core.hpp"
#include "opencv2/contrib/contrib.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/objdetect/objdetect.hpp"
#include <iostream>
#include <fstream>
#include <sstream>

导致错误的行是

Ptr<FaceRecognizer> model = createFisherFaceRecognizer();

我也试过同样的错误

Ptr<FaceRecognizer> model = createFisherFaceRecognizer(0, DBL_MAX);

我正在编译程序:

g++ -L/usr/lib/uv4l/uv4lext/armv61 -luv4lext -Wl,-rpath,'/usr/lib/uv4l/uv4lext/armv6l'   opencv_test.cpp -lopencv_core -lopencv_contrib -lopencv_imgproc -lopencv_objdetect -lopencv_highgui -o opencv_test

,我得到错误:

opencv_test.cpp:(.text+0x5d8):undefined refrence to 'cv::createFisherFaceRecognizer(int,double)'

奇怪的是,其他库似乎链接得很好,所以我不知道为什么只有一个库链接得不正确。

这是在使用树莓派的树莓派上运行的

谢谢你的帮助

在试图弄清楚发生了什么之后…我使用apt-get remove删除贡献模块,然后重新安装它…我现在认为这是一个更大的链接错误的症状,因为我在同一台机器上运行了两个不同版本的opencv…无论如何,我希望这篇文章能帮助到一些人。

相关内容

  • 没有找到相关文章

最新更新