OpenCV:未解析的外部符号
Posted
技术标签:
【中文标题】OpenCV:未解析的外部符号【英文标题】:OpenCV: Unresolved External Symbol [duplicate] 【发布时间】:2019-07-16 03:52:02 【问题描述】:在我的头文件中声明 cv::Mat mat 时。我遇到一个错误:“未解析的外部符号”
我已经包含了这些:
#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
版本:QT 4.2.0 |打开简历 4.1.0
【问题讨论】:
展示你的 .pro.... 未解析的符号是 链接器 错误,而不是编译器错误。它表明您的项目设置、makefile 或类似文件需要指定 OpenCV 库。 【参考方案1】:在大多数情况下,包括头文件是不够的(只有在头文件使用非标准功能来告诉编译器链接哪个库时)。
您需要告诉链接器添加相应的 .lib 文件。 在 Visual Studio 中,您可以在项目属性 -> 链接器 -> 附加库中执行此操作。 在 OpenCV 中,如果您下载了 prepuilt 版本,您可能会发现这些库靠近标头所在的位置。 .lib 文件需要与您用于工作的编译器版本相匹配,例如。要使用 2019 编译器,他们需要使用 2017 或 2015 构建。
【讨论】:
【参考方案2】:首先要确定opencv的安装。检查它使用:
pkg-config --modversion opencv
然后将以下内容添加到您的 .pro 文件中:
INCLUDEPATH += /usr/local/include/opencv // for path
LIBS += `pkg-config --cflags --libs opencv` // for libraries
完成这些后,opencv 库应该可以在 Qt 中的任何 cpp 文件中工作
【讨论】:
以上是关于OpenCV:未解析的外部符号的主要内容,如果未能解决你的问题,请参考以下文章
链接 OpenCV 失败,LNK 2019 未解析的外部符号
opencv/visual studio:错误 LNK2019:未解析的外部符号