开发环境(mingw,gtk2.0,sdl,dev-c++)

本文介绍了如何在Windows上安装和配置MingW编译环境,包括添加GCC和Dev-C++,并详细讲解了如何集成和使用GTK+及SDL库进行GUI程序开发,提供了下载资源和配置步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1) 首先安装 mingw(www.mingw.org  sourceforge.net上面有),MinGW,即Minimalist GNU For Windows。它是一些头文件和端口库的集合,该集合允许人们在没有第三方动态链接库的情况下使用GCC(GNU Compiler C)产生Windows32程序。在基本层,MinGW是一组包含文件和端口库,其功能是允许控制台模式的程序使用微软的标准C运行时间库(MSVCRT.DLL),该库在所有的NT OS上有效,在所有的Windows 95发行版以上的Windows OS有效,使用基本运行时间,你可以使用GCC写控制台模式的符合美国标准化组织(ANSI)程序,可以使用微软提供的C运行时间扩展。该功能是Windows32 API不具备的。下一个组成部分是w32api包,它是一组可以使用Windows32 API的包含文件和端口库。与基本运行时间相结合,就可以有充分的权利既使用CRT(C Runtime)又使用Windows32 API功能。

sourceforge.net 上面下载mingw的runtime和gcc. gcc里面有core,g++,ada等等,看你的需要下载.

mingw下载后解压到你喜欢的路径.比如 d:/tools/mingw,然后把d:/tools/mingw/bin加入到系统path里面.

把下载的gcc-core等等解压到d:/tools/mingw下面,这样bin目录下面就有gcc.exe等等.

现在你就有了一个GUN的编译环境了.你可以进入到命令行,运行gcc -v然后得到下面得结果我的机器上是这样的

Reading specs from D:/tools/mingw/bin/../lib/gcc/mingw32/3.4.1/specs
Configured with: ../gcc/configure --with-gcc --with-gnu-ld --with-gnu-as --host=
mingw32 --target=mingw32 --prefix=/mingw --enable-threads --disable-nls --enable
-languages=c,c++,f77,ada,objc,java --disable-win32-registry --disable-shared --e
nable-sjlj-exceptions --enable-libgcj --disable-java-awt --without-x --enable-ja
va-gc=boehm --disable-libgcj-debug --enable-interpreter --enable-hash-synchroniz
ation --enable-libstdcxx-debug
Thread model: win32
gcc version 3.4.1 (mingw special)

最后一行,表示现在的gcc是专门为mingw弄得.

也可以安装cygwin,但是这个编译的代码要遵守GPL.Cygwin是Cygwin公司(http://cygwin.com/)的产品,它提供了Windows操作系统下的一个UNIX环境,它可以帮助程序开发人员把应用程序从UNIX/Linux移植到Windows平台,是一个功能强大的工具集。

2)好了,现在你可以用记事本什么的写一个c的Hello world程序,然后用命令行来编译一下玩玩看.

但是用记事本写程序虽然很Cool,效率就不爽.去下载一个free得IDE来玩比较好,可以试一试Dev-c++,同样,sourceforge.net上面有下载,这个是用delphi/kylix写的.GPL. 下载安装就可以用了.

3)ok.现在我们试一试GUI的东西,用GTK试一试,去http://www.gimp.org/~tml/gimp/win32//downloads.html 下载GLib, libiconv gettext-runtime, GTK+, atk, Pango, and FreeType2.注意下载dev版本.很麻烦,这么多,然后都解压到mingw安装目录下面,include和lib下面多了很多东西.呵呵.去下载一个pkg-config.exe.然后命令行运行这个命令 pkg-config --cflags gtk+-2.0 我的机器上是这样

-ID:/tools/mingw/include/gtk-2.0 -ID:/tools/mingw/lib/gtk-2.0/include -ID:/tools
/mingw/include/atk-1.0 -ID:/tools/mingw/include/pango-1.0 -ID:/tools/mingw/inclu
de/glib-2.0 -ID:/tools/mingw/lib/glib-2.0/include

把这堆东西弄到dev-c++的include设置里面.

运行pkg-config --libs gtk+-2.0,然后把结果也弄到dev-c++的设置里面.

注意 编译里面加入 -mms-bitfields 链接里面加入-mwindows

写一个简单的GTK程序,编译一下,看看,呵呵.应该可以运行了.

4)我们再玩玩SDL,去http://www.libsdl.org/下载Development Libraries:的mingw版本. 解压到mingw目录下面

当然也可以弄到别的目录(mingw现在很像一个垃圾桶了).dev-c++里面设置好include和libs的路径.

libs用这个-lmingw32 -lSDLmain -lSDL 最后加上 -mwindows一定要注意顺序,否则会出现complaining about the missing symbol WinMain@16.

然后编译sdl的例子玩玩吧.:)

先写到这里.

http://www.linuxforum.net/forum/gshowflat.php?Cat=&Board=kylix&Number=98623&page=5&view=collapsed&sb=5&o=all&fpart=all&vc=1

http://www.huihoo.com/gnu/gtk2-tut/book1.html

SDL2.2.0.1的移植,包含SDL的每个参数的意思,包含交叉编译器的安装,包含移植过程中出错的处理方法。 --prefix=/usr/arm 安装SDL路径 --enable-shared=yes 构建共享库[开启] --enable-nasm 装配blitters x86上的nasm(汇编器) --enable-oss 启用支持oss声音的API --enable-alsa 启用支持ALSA声音的API --enable-alsa-shared 启用动态加载ALSA声卡的API --enable-pulseaudio 启用pulseaudio(脉冲音频) --enable-pulse-shared 启用动态加载脉冲音频支持 --enable-arts 启用支持Analog Read Time Synthesizer(模拟实时合成器) --enable-arts-shared 启用动态加载ARTS声卡的支持 --enable-joystick 启用joystick(控制杆)系统 --enable-cdrom 启用只读光盘系统[关闭] --enable-threads 启用多线程子系统 --enable-timers 启用计时器子系统 --enable-endian 大小端设置 --enable-file 启用文件系统 --enable-esd 支持Enlightened(文明)声音后台程序 --enable-nas 支持NAS(网络连接存储)声卡API --enable-diskaudio 支持磁盘写入声卡驱动 --enable-dummyaudio 支持虚拟声卡驱动 --enable-altivec 使用altivec装配位块传送器在PPC上 --enable-video-x11 使用x11视频驱动 --enable-dga 允许使用x1 DGA代码 --enable-video-x11-vm 使用x11 vm延长全屏 --enable-video-x11-dgamouse 使用x11 DGA鼠标事件 --enable-video-x11-xv 使用x11 xv音像延长视频 --enable-video-x11-xinerama 启动x11多银幕支持 --enable-video-dga 使用DGA2.0视频驱动 --enable-video-directfb 启用DirectFB视频驱动 --enable-video-photon 使用QNX(嵌入式实时系统)光子视频驱动 --enable-video-ps2gs 使用PS(游戏机)2 GS视频驱动 --enable-video-opengl 包括OpenGL(开放图形语言)创建上下文 --enable-video-pth 使用GNU pth库对多线程 --enable-pthreads 使用POSIX线程(可移植操作系统)对多线程 --enable-pthread-sem 使用多线程信号 --enable-input-events 使用Linux-2.4统一输入接口 --enable-input-tslib 使用Touchscreen库输入
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值