首页 > 解决方案 > Visual Studio 2019 和 googletest:链接器错误

问题描述

我在使用 Visual Studio 2019 为现有项目设置googletest单元测试项目时遇到问题。

我首先New > Project从 VS 中选择并选择googletest。由 VS 创建的项目存根编译并运行良好。

我将要测试的项目添加到单元测试的References中。该项目在同一个解决方案中。

当我尝试测试我的一个类时,测试编译得很好。但是,链接器找不到我的课程。所以我将.obj其他项目中的文件添加到单元测试项目的链接器依赖项(Properties > Linker > Additional dependencies)中。现在我得到另一个链接器错误:

gtestd.lib(gtest-all.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary':
value 'MDd_DynamicDebug' doesn't match value 'MTd_StaticDebug'

由于各种原因(与其他库不兼容),我无法更改我正在尝试测试的项目的设置。所以我更改了单元测试项目(Properties > C/C++ > Code Generation > Runtime Library)的设置。但是,我仍然得到相同的链接器错误,可能是因为gtestd.lib它本身固定为MDd_DynamicDebug. 我该如何改变呢?

我在网上搜索,我发现的只是一些关于如何CMake使用 . 而不是Visual Studio.

标签: c++googletestvisual-studio-2019

解决方案


推荐阅读