qtmain.lib(qtmain_win.obj) : error LNK2038: 检测到“_MSC_VER”的不匹配项: 值“1800”不匹配值“1900”问题的解决

关于这个问题其实有很多解决帖子:如下参考博客是一个不错的帖子:

https://blog.csdn.net/u012814856/article/details/76343540

 

我遇到的问题的详细log如下:

1>qtmain.lib(qtmain_win.obj) : error LNK2038: 检测到“_MSC_VER”的不匹配项: 值“1800”不匹配值“1900”(display.obj 中)
1>qtmain.lib(qtmain_win.obj) : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) char const * __cdecl std::_Winerror_map(int)" (__imp_?_Winerror_map@std@@YAPEBDH@Z),该符号在函数 "public: virtual class std::basic_string,class std::allocator > __cdecl std::_System_error_category::message(int)const " (?message@_System_error_category@std@@UEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@H@Z) 中被引用
1>..\bin\\FaceCapture.exe : fatal error LNK1120: 1 个无法解析的外部命令

根据log分析可以了解到如下信息,qtmain.lib是vs2013编译出来的,而我们现在编译应用是使用的是vs2015导致这个问题。

这个时候就需要安装支持vs2015的qt的版本,然后再使用vs2015编译应用就可以了。

于是我下载并安装了qt-opensource-windows-x86-msvc2015_64-5.6.3.exe。

然后在VS2015的工具->Qt VS Tools->Qt Options中,添加了一个新的Qt Version:msvc2015_64

qtmain.lib(qtmain_win.obj) : error LNK2038: 检测到“_MSC_VER”的不匹配项: 值“1800”不匹配值“1900”问题的解决_第1张图片

然后右击Qt工程,选择Qt Project Settings,将Properties选项卡的Version选择为msvc2015_64

qtmain.lib(qtmain_win.obj) : error LNK2038: 检测到“_MSC_VER”的不匹配项: 值“1800”不匹配值“1900”问题的解决_第2张图片

重写编译就解决了问题。

你可能感兴趣的:(Visual,Studio环境)