Qt Creator LNK2019:使用OpenCV的未解析外部符号

Qt Creator LNK2019:Unresolved external symbol using OpenCV

本文关键字:外部 符号 OpenCV Creator LNK2019 使用 Qt      更新时间:2023-10-16

过去两天,我一直在尝试使用OpenCVQt中编译一个项目,但不知道为什么不编译。我的应用程序只有main.cppwidget.cppwidget.h

这是我的.pro文件

  QT       += core gui opengl
  greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
  TARGET = FaceDetect
  TEMPLATE = app
  SOURCES += main.cpp
             widget.cpp
  HEADERS  += widget.h
  FORMS    += widget.ui
  INCLUDEPATH += C:/opencv/build/include/
  LIBS += -LC:/opencv/build/x64/vc10/lib/
           -libopencv_core2410
           -libopencv_highgui2410
           -libopencv_imgproc2410
           -libopencv_features2d2410
            -libopencv_calib3d24610

这些是我不断得到的错误:

main.obj:-1: error: LNK2019: unresolved external symbol "public: void __thiscall cv::Mat::deallocate(void)" (?deallocate@Mat@cv@@QAEXXZ) referenced in function "public: void __thiscall cv::Mat::release(void)" (?release@Mat@cv@@QAEXXZ)    
moc_widget.obj:-1: error: LNK2001: unresolved external symbol "public: void __thiscall cv::Mat::deallocate(void)" (?deallocate@Mat@cv@@QAEXXZ)
moc_widget.obj:-1: error: LNK2001: unresolved external symbol "public: void __thiscall cv::Mat::deallocate(void)" (?deallocate@Mat@cv@@QAEXXZ)

有人能解释一下我为什么以及如何摆脱这些吗?

谢谢!

在LIBS中的每个文件的末尾放一个斜线并保存。

LIBS += -LC:/opencv/build/x64/vc10/lib/
       -libopencv_core2410 
       -libopencv_highgui2410 
       -libopencv_imgproc2410  
       -libopencv_features2d2410  
       -libopencv_calib3d24610

现在右键单击项目文件夹,单击"Run qmake",然后"build"它,这将"制作"文件并考虑.pro文件中所做的更改。