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