2014年8月6日 星期三

C++單元測試(2) - 用VC6編譯CppUnit

接續前一編
「事不疑遲,快到freedesktop下載最新版吧!」

這一版的CppUnit,自帶VC6和VS2010的兩個不同的VS專案檔,這一篇就先介紹使用VC6的路上要突破的重重挫折。

使用環境
Windows 7
Visual C++ 6
  1. 安裝Visual C++ 6,git for windows
  2. clone CppUnit,並且切換到cppunit-1-13的分支。
    master的PlugInManager.cpp檔Line:3會出現「找不到stdint.h」的error
    而這個分支,直接砍掉出問題的這一行.....
    $git clone git://anongit.freedesktop.org/git/libreoffice/cppunit/
    %(git dir)$git checkout cppunit-1-13
  3. 再打開 src/CppUnitLibraries.dsw
  4. 編譯 每一個 專案
    編譯條件有四種,通通都要編一下Win32 Release, Win32 Debug, Win32 Release Unicode, Win32 Debug Unicode 對每一個專案檔進行各別編譯 Build(selection only)
    順序如下試一下就知道了。
    這一步會出現一些error,得慢慢的一個一個解。(下面有一些可以參考的經驗)
  5. 在lib/可以找到編譯好的檔案
    我編出來有23個檔案。

編譯出現error

  • cdxCDynamicDialog.cpp(30) : error C2440 這是timer的參數型別出問題。
    只要把
    void cdxCDynamicDialog::OnTimer(UINT_PTR idEvent)
    改成
    void cdxCDynamicDialog::OnTimer(UINT idEvent)
  • TreeHierarchyDlg.cpp(106) : error C2065
    m_treeTests.SetItemData(...) 參數型別出問題。(改法類似上一點)
  • TreeHierarchyDlg.cpp(188) : error C2065
    Text::data; 型別出問題(改法類似上一點)
這樣就已經取得聖杯了。
剩下的就是怎麼使用它了!下次我們再來介紹吧!

沒有留言:

張貼留言