完整错误:
错误 LNK2001 无法解析的外部符号 “public: virtual __thiscall cv::Exception::~Exception(void)” (??1Exception@cv@@UAE@XZ) ……*opencv_highgui2413d.lib*(window.obj)
注意已经说明是opencv库的问题了,VS使用库通常的bug:
- include,lib(dll)都要加到项目中,且不能漏
- 加静态库的位置:
配置属性-VC++目录-包含目录——加include文件夹
配置属性-VC++目录-库目录——加lib文件夹
配置属性-C/C+±预处理器——通常有些预编译头需要加
配置属性-链接器-常规-附加库目录——加lib文件夹
配置属性-链接器-输入-附加依赖项——加需要依赖的库文件的名字 - 带d的库是debug版本,不加d是release版本
- 32位还是64位一定要一致
- opencv的库之间也有依赖,所以加入的时候需要按照正确的拓扑顺序(Windows,Linux下opencv库都如此)
- 常见opencv库的顺序(debug版本):
opencv_core2413d.lib
opencv_imgproc2413d.lib
opencv_highgui2413d.lib
opencv_ml2413d.lib
opencv_video2413d.lib
opencv_features2d2413d.lib
opencv_calib3d2413d.lib
opencv_objdetect2413d.lib
opencv_contrib2413d.lib
opencv_legacy2413d.lib
opencv_flann2413d.lib