2007/04/29

wxWidgets + Visual C++2005 + wxDev-C++ 第一次安裝

首先當然需要下載相關軟體:
Visual C++2005 Express Edition + Platfrom SDK for Windows Server 2003 R2
WxWidgets 目前最新版 2.83 下載 exe 版或是 zip ,exe 會幫你電腦設定 WXWIN 目錄。
wxDev-C++ 目前最新版本 6.10-2

Visual C++ 2005 請先安裝,wxDev-C++ 可以選擇 2005 的編輯器。



第一步: 2005 + Platfrom SDK設定步驟
http://www.microsoft.com/taiwan/msdn/express/visualc/usingpsdk/default.mspx
(1)在ProgramFiles%\Microsoft Visual Studio 8\VC\VCWizards\AppWiz\Generic\Application\html\1033\".中我沒有1033的目錄於是改1028的目錄中的 AppSettings.htm 也是可行的。
(2)要用NotePad 等文字編輯器編輯 不可用 2005 會出現錯誤訊息。


第二步:
(1)設定WXWIN 系統變數 目錄:
我的電腦->內容->進階->環境變數->系統變數->新增->
變數名稱:WXWIN
變數值:安裝 WxWidgets 的目錄。


(2)Visual 2005 中設定 相關目錄:
工具->選項->專案和方案->VC++目錄
顯示目錄->Include 檔案
新增:
$(WXWIN)\include
$(WXWIN)\contrib\include

顯示目錄->程式庫檔
新增:
$(WXWIN)\lib\vc_lib
$(WXWIN)\contrib\lib


顯示目錄->原始程式檔
新增
$(WXWIN)\src

以下用 (WXWIN) 代表文中WxWidgets所安裝的目錄


第三步:使用 Visual C++ 2005編譯WxWidgets
開啟專案->(WXWIN)\build\msw\wx.dsw 開啟之後會有20個專案。
然後將專案全選->屬性->組態屬性->C/C++->程式碼產生->執行階段程式庫 改為 多執行緒偵錯(/MTd)
再將上方作用中Debug 改為 Release 執行階段程式庫 改為 多執行緒(/MT)

套用跳出後,目前使用Debug 模式,再全選所有專案->建置選取範圍 會編譯一段時間後,再改 Release 編輯一次。


於是在(WXWIN)\build\msw\ 會出現 vc_mswd 和 vc_msw 的目錄。


第三步:使用wxDev-C++ 建立新專案,建立你需要的介面。然後選擇 visual 2005 編譯,就會建立一個相關檔案,和一個 rc的檔案,給visual 2005 使用。


第四步:visual 2005 建立新專案
(1)一般->空專案 選取跟 wxDev-C++剛建立的專案相同的名稱與目錄


(2)原始程式檔->加入->現有項目 載入 cpp 檔案


(3)標頭檔->加入->現有項目 載入 h 檔案


(4)資源檔->加入->現有項目 載入 rc 檔案


(5)對專案按右鍵->屬性->組態屬性->C/C++->一般->其他include目錄
加入 "$(WXWIN)\include";"$(WXWIN)\contrib\include";"$(WXWIN)\lib\vc_lib\mswd"
如改為Release模式 將 "$(WXWIN)\lib\vc_lib\mswd" 改為 "$(WXWIN)\lib\vc_lib\msw" 即可


(6)C/C++->前置處理器->前置處理器定義->
WIN32;_DEBUG;__WXMSW__;__WXDEBUG__;_WINDOWS;NOPCH;_CRT_NONSTDC_NO_DEPRECATE
此為Debug模式,如要改成Release 模式
WIN32;__WXMSW__;_WINDOWS;NOPCH;_CRT_NONSTDC_NO_DEPRECATE


(7)連結器->一般->其他程式庫目錄 -> "$(WXWIN)\lib";"$(WXWIN)\contrib\lib";"$(WXWIN)\lib\vc_lib"


(8)連結器->輸入->其他相依性 ->
comctl32.lib rpcrt4.lib wxmsw28d_core.lib wxbase28d.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexd.lib wxexpatd.lib winmm.lib wsock32.lib oleacc.lib
要改成Release 模式:
wxmsw28_core.lib wxbase28.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregex.lib wxexpat.lib winmm.lib comctl32.lib rpcrt4.lib wsock32.lib oleacc.lib odbc32.lib


如果要使用網路功能請再加入 wxbase28d_net.lib


(9)連結器->資訊清單檔 ->產生資訊清單->否

最後選擇編譯,就可以使用 Visual 2005的方便與強大的程式編輯功能 與 wxDev- C++ 方便的介面設定功能。


產生的問題清單:
(1)如果有產生外部呼叫錯誤:重新編譯 WxWidgets 的 與目前程式使用的 Debug、Release 模式 再試試看。
(2)在Debug模式出現沒有偵錯資訊時:連結器->偵錯->產生偵錯資訊->是


以上純屬個人經驗 與 大家分享


參考資料:
http://www.wxwidgets.org/wiki/index.php/Compiling_WxWidgets




沒有留言: