天天看點

如何搭建MinGW、Code::Block和wxWidgets環境

MinGW、Code::Block和wxWidgets分别是三個著名的開源程式,分别是編譯器、IDE和界面庫。由這三樣搭建起來的全開源純c++開發環境,功能不亞于Visual C++。(當然,沒有asp和內建sql等功能)   先是到 www.MinGW.org去下載下傳以下檔案: gcc-core gcc-g++ binutils

mingw-runtime

mingw-utils

w32-api

mingw32-make

gdb   然後将這些檔案解壓/安裝到同一個目錄下,比如C:/MinGW,這樣,編譯器就搭建好了。為了後期編譯友善,在C:/MinGW下建立一個setvar.bat,内容如下: set path=C:/MinGW/bin;%path%   之後,到 http://forums.codeblocks.org/index.php?board=20.0下載下傳最新的Nightly builds的Code::Block,注意同時把mingwm10.7z和wxmsw26_gcc_cb.7z也下下來,Code::Block要配合這兩個壓縮包中的dll工作。 将三個壓縮包解到一個目錄下面,比如C:/CodeBlock。   運作C:/CodeBlock/codeblocks.exe,第一次運作時,選MinGW為預設編譯器。然後選擇[Settings/Compiler and debugging],在彈出的對話框中選擇[Programs]标簽,在Compiler's installation directory中輸入剛才的MinGW目錄,這裡就是C:/MinGW。然後看看最下面的Make program參數,将其改為mingw32-make.exe(有時候這個值預設是make.exe)。   這樣,ide和編譯器就搭建好了。現在可以建立個Console project編譯試試了。如果要在程式中使用win api,直接引用#include <windows.h>就可以。   下面講如何搭建wxWidgets環境。   到 http://www.wxwidgets.org/下載下傳wxWidgets的壓縮包,将其解壓到C:/wxWidgets,然後[開始/運作],輸入cmd後,在指令行下進入MinGW的目錄,setvar.bat設定編譯器路徑,然後進入C:/wxWidgets/build/msw來編譯wxWidgets,輸入: mingw32-make -f makefile.gcc  MONOLITHIC=1 SHARED=1 UNICODE=1 BUILD=release   恩……按照一般的說法,下面是休息時間…………   休息好後,編譯也該完成了。在Code::Block中建立個wxWidgets project,在選擇wxWidgets的路徑的時候,輸入C:/wxWidgets,然後在最後選擇“enable dll”,“enable unicode”,并且點确認後沒有彈出警告對話框,就證明wxWidgets編譯成功了。這時候,你可以編譯建立的project試一試效果。注意要把mingw10.dll和C:/wxWidgets/lib/gcc_dll/wxmsw26u_gcc_custom.dll考到編譯目錄下,不然運作時會提示找不到dll。   奇怪的是,如果我用: mingw32-make -f makefile.gcc  MONOLITHIC=1 SHARED=0 UNICODE=1 BUILD=release 來生成靜态連結庫時,編譯沒有任何問題。在Code::Block的工程裡,最後也構掉了"enable dll",但就是提示說“找不到相關的配置檔案”,而且編譯也編不過去,真是郁悶……   而且,MinGW在編STLPort的時候,總是提示“文法不正确”,更加郁悶……   ps 剛才突然靈感閃現,下了一套MSYS(也在MinGW的網頁上),在MSYS環境下對STLPort做編譯,貌似成功了,嘿嘿……

如何搭建MinGW、Code::Block和wxWidgets環境
輸入您的搜尋字詞 送出搜尋表單
<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

繼續閱讀