1. 程式人生 > >在Code::Blocks中編譯和使用wxWidgets3.0.0教程

在Code::Blocks中編譯和使用wxWidgets3.0.0教程

sys 內容 org alc 改變 存儲 clear mono 腳本

跳轉至:指南,搜索

註意,編譯Code :: Blocks的對wxWidgets的3.0.0鏈接不是很穩定,但該庫至少可以被正確編譯,(只是使用的時候可能會有問題);CodeBlocks開發商都在努力開發使之更穩定。

這些是使用Code :: Blocks編譯wxWidgets的說明。它們起初用於準備編譯Code :: Blocks本身,但也可以是用於編譯wxWidgets本身。

雖然這些指令是針對Windows操作系統中,但通過細小的調整可以應用到其他平臺,因為我們使用的MinGW的。

內容

  • 1MinGW的安裝
  • 2安裝wxWidgets的源代碼
  • 3檢查make的版本
  • 4構建wxWidgets
    • 4.1更改目錄和路徑的設置
    • 4.2清理wxWidgets的代碼
    • 4.3構建wxWidgets的代碼
  • 5編譯Code :: Blocks
    • 5.1為編譯Code :: Blocks項目
    • 5.2設置路徑
    • 5.3後編譯步驟
    • 5.4參考

MinGW的安裝

Code :: Blocks安裝MinGW教程的可以在這裏找到。MinGW的安裝

安裝wxWidgets的源代碼

wxWidgets的3.0.0的發行可以在找到wxWidgets的下載網站 。(請註意,還有一個可WinHelp的文件。)您可以在安裝程序和一個壓縮文件之間進行選擇。你可以只使用zip文件,因為安裝程序也是一個壓縮版本。

如果使用普通的zip版本,請確保使用完整路徑解壓。否則,該目錄將無法正確創建。

註:對於這些指令其余部分,我們稱之為wxWidgets的目錄<WXWIN>。你必須將它更改為您相應的目錄(如“c:\wxMSW-3.0.0\wxWidgets-3.0.0”)。

註意:您不需要MSYS。此外,你不能有MSYS在你的路徑,或者wxWidgets的編譯將失敗。因此,如果你已經安裝MSYS,確保<MSYS> \ BIN是不是在你的路徑編譯的wxWidgets之前。 wxWidgets的,必須從“常規”命令行(cmd.exe的一樣)編譯,而不是從一個類似Unix的外殼。可能會出現相同的問題,如果Cygwin的是在路徑中。

註:對於這些指令其余部分,我們稱之為MinGW的目錄<MINGW>。

你必須將它更改為您相應的目錄(例如“C:\ MinGW的“)。

檢查make版本

如果您沒有安裝MinGW,你必須確保你正在使用的是比較新的版本以便能夠正確的編譯。打開命令提示符,然後鍵入:

cd <MINGW>\bin
mingw32-make -v

該版本應該顯示為3.80或更高版本。

wxWidgets的構建

改變目錄和路徑的設置

要編譯wxWidgets,打開命令提示符窗口,並切換到wxWidgets目錄:

cd /d <WXWIN>\build\msw
SET PATH=<MINGW>\bin

註意: 這通常是 SET PATH=C:\MingGW\bin

清理wxWidgets的代碼

現在,清理源碼:

mingw32-make -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1 USE_OPENGL=1 VENDOR=cb CXXFLAGS="-fno-keep-inline-dllexport" clean

註意:請確保您使用的正是這一步,並為下面的生成步驟相同的選項。clean目標使用這些變量,僅清理生成的目標文件和庫文件的指定版本。(它不會清除所預期的文件,如果這些變量是不相同的。)

註意:如果您仍然有問題,清洗後進行編譯,你可以嘗試構建\ MSW目錄下手動刪除gcc_dll目錄。此目錄是目標文件的存儲位置。

構建wxWidgets的代碼

當一切都幹凈就可以開始編譯的wxWidgets:

的mingw32  - 讓-F makefile.gcc USE_XRC = 1 SHARED = 1單片= 1 BUILD =釋放的UNICODE = 1 USE_OPENGL = 1供應商= CB CXXFLAGS =“-FNO  - 保持 - 直列DLLEXPORT”>的log.txt 2>&1

註意:如果你想編譯wxWidgets的另一個版本(調試或非Unicode),你仍然要確保你的鏈接Code :: Blocks的建立一個單片的版本(一個大的DLL)。

耐心。這個步驟需要時間。確保沒有任何編譯錯誤,然後再繼續。

編譯Code :: Blocks

Code :: Blocks項目中使用

不需要任何補丁編譯Code :: Blocks的與wxWidgets的3.0,只需使用項目/工作區,文件名 ??稱中的_wx30並調用update30.bat更新的資源。

這並不意味著,一切運行完全無缺陷的,但我們正在努力就可以了。

一如往常,補丁是受歡迎的。

設置路徑

最後才編譯Code :: Blocks的本身,你需要設置的路徑:

  • 打開Code :: Blocks的項目(CodeBlocks_wx30.cbp)。
  • 它會問你要定義一個全局變量命名為“WX30”
  • 將路徑設置為在已安裝的wxWidgets(如“c:\wxMSW-3.0.0\wxWidgets-3.0.0”)。
  • 全局變量cb_release_type設置為“-G”。 (當你輸入的文字沒有引號是必要的)
  • 編譯Code :: Blocks的。

註:zip.exe文件應該在你的PATH中,這樣他們就可以正確運行後步驟,請參閱1.6 zip.exe約zip.exe一些細節


後編譯的步驟

當編譯過程完成後,只需運行update30.bat腳本。這將確保所有的資源文件Code :: Blocks的用途是在正確的地方,並及時更新。

參考

  • 論壇討論: 回復:wxWidgets的3.0和Code :: Blocks的文件的問題?
  • 從源代碼在Windows上安裝Code :: Blocks的
  • 需要註意的是PCH被禁用Codeblocks_wx30.cbp,因為它會導致GCC建立的錯誤(在GCC 4.8.x的bug 問題56926 -崩潰(不ICE),而編譯升壓。數學 ),見這裏的討論:回復:wxWidgets的3.0和Code :: Blocks的文件的問題? 和修補程序使用MinGW的GCC 4.8.1編譯Code :: Blocks的對wxWidgets的3.0
取自“ http://wiki.codeblocks.org/index.php?title=Compiling_wxWidgets_3.0.0_to_develop_Code::Blocks_(MSW) “

在Code::Blocks中編譯和使用wxWidgets3.0.0教程