如何搭建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做编译,貌似成功了,嘿嘿……


<!-- Search Google -->
输入您的搜索字词 提交搜索表单
<!-- google_ad_client = "pub-7330597899926046"; google_ad_format = "350x30_sdo"; google_link_target = 2; google_color_bg = "ffffff"; google_color_link = "000000"; google_encoding = "GB2312"; //-->
<!-- Search Google --> <!-- google_ad_client = "pub-7330597899926046"; google_ad_slot = "8791774696"; google_ad_width = 468; google_ad_height = 60; //-->

你可能感兴趣的:(C++,c,Google,gcc,C#)