您的位置:首页 > 编程语言 > C语言/C++

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

2007-06-29 14:49 357 查看
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做编译,貌似成功了,嘿嘿……



输入您的搜索字词 提交搜索表单
<script type="text/javascript"><!--
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";
//-->
</script> <script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<script type="text/javascript"><!--
google_ad_client = "pub-7330597899926046";
google_ad_slot = "8791774696";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script> <script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息