VS2019下CMake编译正常的OpenCV4.5.2运行报LNK2019错误如何解决?
OpenCV VS2019 LNK2019链接错误解决步骤
你遇到的LNK2019错误属于链接类错误,核心是VS找不到你调用的OpenCV函数的实现代码,按以下步骤逐一核对即可解决:
- 第一步:检查运行架构
查看VS顶部工具栏的解决方案平台,必须选择x64,你编译的OpenCV是64位版本,32位(x86)模式无法识别对应库文件。 - 第二步:核对编译模式和依赖项
- 若VS当前为Debug模式,附加依赖项需要填写带
d后缀的lib:opencv_core452d.lib、opencv_highgui452d.lib、opencv_imgcodecs452d.lib - 若VS当前为Release模式,附加依赖项填写不带
d后缀的lib,即你原本配置的三个文件 - 注意:附加依赖项填写时每个lib单独占一行,不要用逗号分隔,逗号会被VS识别为文件名的一部分,导致找不到库。
- 若VS当前为Debug模式,附加依赖项需要填写带
- 第三步:修正路径配置
你填写的链接器附加库目录C:\opencv\opencv_lib\install\x64\vc16\lib是正确的,不需要修改;但系统Path中填写的vc14路径错误,vc14对应VS2015,你使用的VS2019对应vc16,将Path中的对应路径改为C:\opencv\opencv_lib\install\x64\vc16\bin,修改完成后重启VS生效。 - 第四步:核对运行库设置(上述步骤完成后仍报错时检查)
右键项目→属性→C/C++→代码生成→运行库,Debug模式选择多线程调试DLL (/MDd),Release模式选择多线程DLL (/MD),和编译OpenCV时的运行库选项保持一致即可。
内容的提问来源于stack exchange,提问作者makala
相关产品推荐
相关产品推荐

