今天在将MATLAB代码转换成静态链接库(C++),而后使用vs2019使用opeccv链接编译时,出现如下两个错误:

1、error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(main.obj 中)

2、 fatal error LNK1319: 检测到 1 个不匹配项

解决方法:进入VS项目属性栏,点击C/C++》代码生成》运行库,发现此时模式为多线程DLL(/MD)将其更改为多线程(/MT)。原因是因为我使用的是静态链接库,所以不能使用动态链接方式,解释可参看以下博客:VS中的多线程(/MT)、多线程调试(/MTd)、多线程DLL(/MD)、多线程调试DLL(/MDd)的区别(转载)_wx6391ae380935e的技术博客_51CTO博客

再重新生成解决方案,问题解决,运行正常

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐