初次接触GTest,按照文章《玩转Google开源C++单元测试框架Google Test系列(gtest)之一 - 初识gtest》中所述步骤,下载、编译一番顺利,到了使用GTest的时候,却没能像文章中那样顺利运行。
问题
出现了如下问题(我出现的问题和下面两种是相似的,写此文时无法重现我所遇的错误):
1. (摘自上述博文中的评论),连接错误,提示已定义。

2. (具体描述待后续完善)大致就是连接错误,提示msvcrt.lib 和 lib...冲突
解决方法
解决这两个问题的方法很简单,记住两点:
第一:在Release和Debug模式下编译GTest,分别生成gtest.lib和gtestd.lib
在我们新建的使用GTest测试的工程中,Release和Debug模式要分别使用上面两个对应的lib文件
第二:设置好我们的工程 的 代码生成(Properties-->C++-->Code Generation)中的运行时库(Runtime Library)
Release模式为:Multi-threaded( /MT)
Debug模式为:Muti-threaded Debug(/MTd)
正确的配置示例如下
1. Release模式



2. Debug模式



总结:
这就是我遇到的问题,折腾了我半天时间,郁闷了好久,才给整明白的,虽然看上去很简单。
若是你也遇到同样问题,倒是希望对你有些帮助

本文针对初次使用GTest时出现的连接错误进行了详细说明,并提供了有效的解决方案。主要问题包括已定义的错误提示及msvcrt.lib与lib之间的冲突。
2212

被折叠的 条评论
为什么被折叠?



