QT creator 5.9.1(MSVC2015 64bit)+OpenCV4.4.0(VC14),想简单的显示一张图片,配置环境后运行报错,如下:
main.obj error: LNK2019: 无法解析的外部符号 “void __cdecl cv::fastFree(void *)” (?fastFree@cv@@YAXPEAX@Z),该符号在函数 “public: __cdecl cv::Mat::~Mat(void)” (??1Mat@cv@@QEAA@XZ) 中被引用
main.obj error: LNK2019: 无法解析的外部符号 “public: void __cdecl cv::Mat::deallocate(void)” (?deallocate@Mat@cv@@QEAAXXZ),该符号在函数 “public: void __cdecl cv::Mat::release(void)” (?release@Mat@cv@@QEAAXXZ) 中被引用
main.obj error: LNK2019: 无法解析的外部符号 “class cv::Mat __cdecl cv::imread(class std::basic_string
debug\untitled1.exe error: LNK1120: 4 个无法解析的外部命令
解决方法——
添加语句:
#pragma comment( lib, “opencv_world440d.lib”)即可。
完整代码:
#include "mainwindow.h"
#include “QApplication”
#include "opencv2/opencv.hpp"
#pragma comment( lib, "opencv_world440d.lib")
using namespace cv;
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Mat img = imread("1.jpg");
imshow("out",img);
return a.exec();
}
ps——
QT creator 5.9.1(MSVC2015 64bit)+OpenCV4.4.0(VC14)
.PRO文件添加如下语句:
INCLUDEPATH += D:/OPENCV/4.4.0/opencv/build/include
LIBS += -LD:/OPENCV/4.4.0/opencv/build/x64/vc14/lib
opencv_world440d.lib