接續上一篇,我們試著使用了VC6編譯之後,我們這次用了cppUnit官方建議VS版本第二個 - VS2010。
如同VC6那篇一樣,先介紹成功案例的整個專案的規劃與設定吧!
專案檔與檔案之間的設定
一樣UnitTest是獨立在開發專案外的另一個專案。(此專案是由空專案開始,加上.cpp和.h)
程式碼
接下來的程式碼與前一篇相同,在此就不綴述。(一模一樣唷!)
設定專案檔屬性
最後,設定專案檔,如何使用CppUnit的檔案。因為與VC6的介面大不同,而且從VS2003(有這一版嗎?)之後幾乎就是長這樣(只有些許的不同),在此講一下,適用滿多版本的。
在UnitTest專案檔上按右鍵→屬性
出現專案屬性設定頁面,在此可以點選上一層視窗的專案檔,設定值會跟著載入唷!
所以,看見這個頁面時請確認你的專案檔是否有點在UnitTest的專案上。
.h檔路徑
先設定要#include 的.h檔路徑在「其他 Include 目錄」中填上.h檔路徑 |
lib檔的路徑
再設定link時期要找得到的lib檔的路徑在「其它程式庫目錄」中填入.lib的路徑 |
lib檔的檔案名稱
再設定link時期要找得到的lib檔的檔案名稱在此要注意,這一版的VS要用分號隔開唷!VS2005好像就是用空白隔開...
(不確定的話,可以靠tool設定,它會自動幫你加)
在「其他相依性」中填入.lib檔的檔名(這個就不知道翻譯 |
執行
設定UnitTest為Active Project就可以「以Unit Test為主」在IDE按下編譯→執行,就可以看見Unit Test的執行結果報告了!^^
可能會遇到的問題
接下來,我們來聊一下一些途中可能會遇到的問題。這也是為什麼這次拖這麼久才貼這一篇,是有原因的!
如果只是灌好VS2010直接編譯,編譯出這三個項目,會....算是滿順利的了。
cppunit.lib
cppunitd.lib
cppunit_dll.lib
頂多出現warning C4251
不過,官方有說這個不用理它也可以。(實驗之後發現,真的可以耶!)
error LNK1123
再之後就會開始卡關,出現問題。
LINK : fatal error LNK1123: 轉換成 COFF 時失敗: 檔案無效或損毀這個問題,查了一下
http://stackoverflow.com/questions/10888391/error-link-fatal-error-lnk1123-failure-during-conversion-to-coff-file-inval
發現,建議灌sp1!
之後就一路順利的編譯到底!
另外,關於這個部份,竟然還有教學影片耶!有興趣的朋友,就跟著它一步一步做吧!(我還是建議升級到sp1唷)
沒有留言:
張貼留言
(什麼是留言欄訊息?)