vc++ 2015 社区版中的 gmock 和 gtest 链接器错误

gmock and gtest linker errors in vc++ 2015 community edition

我正在尝试在 vc++ 2015 中配置 gmock/gtest,即

  1. 已下载 gmock 和 gtest

  2. 在 VC++ 包含目录中添加了 E:\googlemock\googletest\include 和 E:\googlemock\googlemock\include。

  3. 编译 gmock.sln 并将 E:\googlemock\googlemock\msvc15\Debug 添加到库目录。

  4. 已将 gmock.lib 添加到链接器 -> 输入附加依赖项。

在构建过程中,我遇到了一堆链接器错误,如下所示。

因为我对 gmock/gtest 代码一无所知。我应该如何推理/进一步解决这些问题?

代码:

int main(int argc, char **argv)
{
    testing::InitGoogleMock(&argc, argv);
    return RUN_ALL_TESTS();
}

错误 LNK2038 检测到 'RuntimeLibrary' 不匹配:值 'MTd_StaticDebug' 与 ArrayOperations.obj ConsoleApplication3 E 中的值 'MDd_DynamicDebug' 不匹配:\projects\cpp\ConsoleApplication3\ConsoleApplication3\gmock.lib(gtest-all.obj)

错误 LNK2005 "public: bool __thiscall std::ios_base::good(void)const " (?good@ios_base@std@@QBE_NXZ) 已经在 gmock.lib( gtest-all.obj) ConsoleApplication3 E:\projects\cpp\ConsoleApplication3\ConsoleApplication3\msvcprtd.lib(MSVCP140D.dll) 1

同一 LNK 类别中出现更多错误

最后我可以通过添加属性 -> C++ 代码生成来解决问题

运行 从 post.

到 Multi-threaded 调试 (/MTd) 的时间库

Mismatch Detected for 'RuntimeLibrary'