我通过Nuget将gmock添加到我的VS2019 C++项目中。现在,当我尝试编译时,我收到以下错误。GoogleTest是我的测试类的名称。我是C++新手。
Suppression State Error LNK2038 mismatch detected for '_MSC_VER': value '1800' doesn't match value '1900' in GoogleTest.obj Test?
这个错误到底是什么意思?谢谢您。
抑制状态错误 LNK2038 检测到'_MSC_VER'不匹配:值'1800'与GoogleTest.obj测试中的值'1900'不匹配。
不知道你的项目是不是从其他老版本的VS迁移到VS2019的。
1) 如果是这样,首先,你应该删除旧的。gmock 您之前在 包括目录(右击项目-->Properties
-->VC++ Directories
), 额外包括目录(Properties
-->C/C++
-->General
), 额外的依赖性(属性-->Linker
-->Input
).
2)第二种,安装nuget包 gmock 1.10.0 通过右键点击你的项目-->管理Nuget包-->搜索gmock 1.10.0并安装它。
3) 右键点击你的项目-->。Properties
--> -> -> ->Configuration Properties
--> -->General
-->确保 工具集Plarform 是 VS2019 v142
.
4) 关闭VS Instance,进入你的项目位置,并删除所有的 Debug
和 Release
文件夹,然后重新启动项目并重新构建。
另外,或者你可以尝试在VS2019中新建一个c++项目,安装最新的。gmock
在你的新项目中加入nuget包,然后在你的新项目中加入 迁徙 到新的项目中,然后重新测试。