初次接觸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模式
總結:
這就是我遇到的問題,折騰了我半天時間,鬱悶了好久,纔給整明白的,雖然看上去很簡單。
若是你也遇到同樣問題,倒是希望對你有些幫助