架构的未定义符号x86_64: cv::CascadeClassifier::CascadeClassifier()
Undefined symbols for architecture x86_64: cv::CascadeClassifier::CascadeClassifier()
我在OSX上的Qt 5.2中使用openCV 2.4.6.1。一切都很好,但是当我尝试使用cv:: cascadecclassifier时,出现链接错误,表明该符号未为体系结构x86_64定义。有什么解决办法吗?谢谢。
TEMPLATE = app
TARGET = camera
QT += multimedia multimediawidgets
INCLUDEPATH += /usr/local/Cellar/opencv/2.4.6.1/include
LIBS += -L/usr/local/Cellar/opencv/2.4.6.1/lib
-lopencv_core
-lopencv_imgproc
-lopencv_features2d
-lopencv_highgui
HEADERS =
camera.h
imagesettings.h
videosettings.h
SOURCES =
main.cpp
camera.cpp
imagesettings.cpp
videosettings.cpp
FORMS +=
camera.ui
videosettings.ui
imagesettings.ui
target.path = $$[QT_INSTALL_EXAMPLES]/multimediawidgets/camera
INSTALLS += target
QT+=widgets
您需要在项目文件中扩展LIBS
变量,因为cv:CascadeClassifier
可以在该库中找到:
LIBS += -L/usr/local/Cellar/opencv/2.4.6.1/lib
-lopencv_core
-lopencv_imgproc
-lopencv_features2d
-lopencv_highgui
-lopencv_objdetect # This is the addition
这为我修复了它:
- 在项目的Build Settings选项卡中,向下滚动到"Apple LLVM Compiler 4.1 - Language"
- 将"c++语言方言"设置为"c++11 [-std=c++11]"
- 将"c++标准库"设置为"libc++(支持c++ 11的LLVM标准c++库)"
相关文章:
- 将"打开的CV图像"中的"颜色"转换为整数格式
- 概念中的cv限定符需要表达式参数列表
- 将CHW格式的浮点向量转换为cv::Mat
- 错误的cv::face FacemarkLBF实例化
- 如何检查给定的参数是否为 cv::noArray()?
- 开放 CV 中的动态内存分配,用于视频处理
- 如何在 opencv 中使用 cv::VideoCapture::waitAny()
- 错误:未定义对cv::cudacodec::createVideoReader的引用
- OpenCV 3.4.1 error readNetFromTensorflow 无法在 cv::d nn::ReadProtoFromBinaryFile 中打开 .pb
- C++:从GPU内存(cudaMemcpy2D)获取BGR图像(cv::Mat)
- 选择基于另一个垫子的非零像素的cv::Mat的一部分?
- 将 cv::mat 转换为 QImage
- Inference pytorch C++ with alexnet and cv::imread image
- OpenCV 3.4.3 中对 'cv::String::d eallocate()' 错误的未定义引用
- cv::Normalise() 中的 L2_NORM 和 NORM_MINMAX 实现有什么区别?
- 将 cv::Mat 转换为 std::vector 的通用函数
- OpenCV undefined reference to 'cv::imread(cv::String const&, int)'
- 在 QML VideoOutput 中将 cv::mat 显示为 QVideoFrame
- OpenCV - 在 NDK 更新后未定义对 'cv::CascadeClassifier::d etectMultiScale()' 的引用
- 架构的未定义符号x86_64: cv::CascadeClassifier::CascadeClassifier()