c++ - 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
.
解决方案
推荐阅读
- javascript - 如何在悬停元素周围创建边框?
- php - OpenTBS 合并 MS Word 文档,用于具有多列和多行的标签
- python - 我可以通过 API 自动接收 2FA 代码吗?
- python - 如何修复我的人工神经网络,以便我的预测是在未来而不是过去
- ansible - 如何在 Ansible 中循环遍历深度 3 的 dict 元素列表
- android - 在 Windows 中使用 keygen 工具时出现 fileNotFound(拒绝访问)错误
- mysql - MySQL:获取对应于某个 ID 的值的平均值
- flutter - 如何使用旧列表中的独特元素创建新列表
- google-cloud-platform - 如何使用 Cloud Scheduler 将数据存储到 Cloud Storage?
- c# - 如何使用 protobuf-net 序列化循环引用的 ef poco 类