问题说明
有时候在Visual Studio环境下使用Opencv高版本(>=3.0)时,包含目录(或者附加包含目录)里的.h文件,库目录(或者附加库目录)里面的.lib文件都配置完好、路径配置正确无误的情况下,编译程序依旧会出现错误:error LNK2001: 无法解析的外部符号,如下图所示。
此时可能是由于代码里面未包含"opencv_worldXXX.lib"文件,解决方法如下。
解决方法
在Visual Studio工程里面的基础头文件(.h文件,作用是声明工程里的其他头文件)开头加入以下内容,在Windows10,Visual Studio2015环境下以OpenCV3.4.1版本为例。
// An highlighted block
#ifdef _DEBUG
#pragma comment(lib,"opencv_world341d.lib")
#else
#pragma comment(lib,"opencv_world341.lib")
#endif
此时再次进行编译工程,即可解决错误error LNK2001。