亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用Visual Studio 2005設置Google C ++測試框架(gtest)

如何使用Visual Studio 2005設置Google C ++測試框架(gtest)

慕的地8271018 2019-10-06 13:08:35
它沒有在網站上記錄,人們似乎在建立框架時遇到問題。有人可以顯示示例項目設置的分步介紹嗎?
查看完整描述

3 回答

?
紫衣仙女

TA貢獻1839條經驗 獲得超15個贊

Arlaharen所說的基本上是正確的,只是他省略了解釋您的鏈接器錯誤的部分。首先,您需要在沒有CRT的情況下將應用程序構建為運行時庫。無論如何,您始終應該這樣做,因為它確實簡化了應用程序的分發。如果您不這樣做,那么所有用戶都需要安裝Visual C ++運行時庫,而那些沒有這樣做的用戶將抱怨系統上缺少神秘的DLL ...鏈接所花費的額外數百KB靜態地使用CRT,在以后的支持中您省去了很多麻煩(請相信我-我已經學到了很難的方法?。?/p>

無論如何,要執行此操作,請轉到目標的屬性-> C / C ++->代碼生成->運行時庫,對于您的Release版本,需要將其設置為“多線程”,對于目標版本,則需要將其設置為“多線程調試”您的調試版本。

由于GTEST庫建立在以同樣的方式,你需要確保你鏈接的正確版本的,否則鏈接器會拉在運行時庫的另一個副本,這是你看到的錯誤(順便說一句,這如果您使用的是MFC,則不會有任何區別)。您需要將gtest構建為Debug和Release模式,并保留兩個副本。然后,在Release版本中鏈接gtest.lib / gtest_main.lib,在Debug版本中鏈接gtestd.lib / gtest_maind.lib。

另外,您需要確保您的應用程序指向存儲gtest頭文件的目錄(在屬性-> C / C ++->常規->其他包含目錄中),但是如果遇到鏈接器錯誤,我認為您已經設法使此部分正確,否則首先會有更多編譯器錯誤需要處理。


查看完整回答
反對 回復 2019-10-06
?
喵喔喔

TA貢獻1735條經驗 獲得超5個贊

如果不想編寫自己的main()進行測試,則可以使用gtest_main.lib中定義的main()函數,但會在VS2012中收到鏈接器錯誤“必須定義入口點”。在您的測試項目中,將ProjectProperties-> Linker-> System-> SubSystem設置為“ Console”,因為這將強制VS2012查找名為“ main()”的入口點,并在gtest_main.lib中找到它(前提是已鏈接)它正確地)。


查看完整回答
反對 回復 2019-10-06
  • 3 回答
  • 0 關注
  • 844 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號