链接.lib会导致许多乘法定义的符号

时间:2013-04-13 23:07:42

标签: c++ visual-c++ build linker googletest

我下载了Google Test并在MSVC 2010下构建了它。然后我将其目标gtest.lib(或调试配置下的gtestd.lib)与我的可执行文件链接起来。

结果是多个定义符号的长列表。简而言之:

error LNK1169: one or more multiply defined symbols found
warning LNK4098: defaultlib 'MSVCRTD' conflicts with use of other libs; use /NODEFAULTLIB:library
warning LNK4098: defaultlib 'LIBCMTD' conflicts with use of other libs; use /NODEFAULTLIB:library
error LNK2005: _vprintf already defined in MSVCRTD.lib(MSVCR100D.dll)
error LNK2005: _printf already defined in MSVCRTD.lib(MSVCR100D.dll)

然后列表继续。大多数是VC运行时符号,但有一些是gtest符号。我犯了什么错误? gtest primer州:

  

要使用Google Test编写测试程序,您需要将Google Test编译到库中并将测试与其链接。

但除此之外没有真正阐述。

0 个答案:

没有答案