初次接触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模式
总结:
这就是我遇到的问题,折腾了我半天时间,郁闷了好久,才给整明白的,虽然看上去很简单。
若是你也遇到同样问题,倒是希望对你有些帮助