GNU/UNIX下面有大量的有意思的工具使用,而且功能强大,其中之一就是强大的GNU编译器GCC (GNU Compilers Collection),它包含有多个编译器。GTK+是Gnome环境下标准的图形库,也是一个比较强大的开发集,GTKMM则是GTK+的C++包装,可以使用标准的C++来开发Linux下的图形界面程序。
那么本文将介绍这几个开发环境如何在Windows下使用,好东西嘛,那就是应该在多个平台下都可以使用。
一、安装编译器GCC
在windows下使用GCC,我比较欣赏使用MingW,它安装也比较方便,主页地址在http://mingw.sf.net,可以直接下载安装包进行安装,目前最新版是3.4.2,可以在下载界面下载该版本的所有bin版文件,下载到一个目录比如D:\MingW下后,然后将他们解压到当前目录下,这样大概的环境就可以了,然后安装一个MSYS和MSYS Developer Tool Kit,直接下载安装包,并且安装到D:\MingW目录下即可,然后设置环境变量,在WinXP下是右键点击“我的电脑”,打开“属性”,然后选取“高级”下的“环境变量”,在下面有个变量PATH,在它的值最前面加上“D:\MingW\bin;”就可以了,记着PATH变量的值是用分号隔开的。
还有就是make.exe需要另外安装,也是只要下载安装文件即可,它安装的的是mingw32-make.exe,把它改名成make.exe即可。
现在可以试着编译一个小的C/C++程序测试一下你的GCC是否工作正常?
二、安装GTK+
这个安装则是非常简单,在http://gladewin32.sourceforge.net/上下载gtk+-win32-devel 就行了,它包含有GTK+的整个开发库,还有Glade以及GTK+在Win32下的运行库。
下载完毕之后安装,默认是安装在C:\GTK下,当然你可以选择一个另外的地方。
三、安装GTKMM
同上面一样这个安装也简单,在http://www.pcpm.ucl.ac.be/~gustin/win32_ports/下载gtkmm-devel-2.6.1-1.exe,然后安装,这个最好安装在GTK+的同一个目录下。
四、测试一个简单的gtkmm程序
源码test.cc:
#include <gtkmm .h>
int main(int argc, char *argv[])
{
Gtk::Main kit(argc, argv);
Gtk::Window window;
Gtk::Main::run(window);
return 0;
}
再取一下编译环境变量$LIBS:
C:\>pkg-config gtkmm-2.4 --cflags --libs
C:\>-ID:/GTK/include/gtkmm-2.4 -ID:/GTK/lib/gtkmm-2.4/include
-ID:/GTK/include/glibmm-2.4 -ID:/GTK/lib/glibmm-2.4/include
-ID:/GTK/include/gdkmm-2.4 -ID:/GTK/lib/gdkmm-2.4/include
-ID:/GTK/include/pangomm-1.4 -ID:/GTK/include/atkmm-1.6
-ID:/GTK/include/gtk-2.0 -ID:/GTK/include/sigc++-2.0
-ID:/GTK/lib/sigc++-2.0/include -ID:/GTK/include/glib-2.0
-ID:/GTK/lib/glib-2.0/include -ID:/GTK/lib/gtk-2.0/include
-ID:/GTK/include/pango-1.0 -ID:/GTK/include/atk-1.0
-LD:/GTK/lib -lgtkmm-2.4-lgdkmm-2.4 -latkmm-1.6 -lgtk-win32-2.0
-lpangomm-1.4 -lglibmm-2.4 -lsigc-2.0 -lgdk-win32-2.0 -latk-1.0
-lgdk_pixbuf-2.0 -lpangowin32-1.0 -lgdi32 -lpango-1.0 -lgobject-2.0
-lgmodule-2.0 -lglib-2.0 -lintl -liconv
最好编一个Makefile
# Test.cc Makefile
SRC=base.cc
LIBS=-ID:/GTK/include/gtkmm-2.4 -ID:/GTK/lib/gtkmm-2.4/include
-ID:/GTK/include/glibmm-2.4 -ID:/GTK/lib/glibmm-2.4/include
-ID:/GTK/include/gdkmm-2.4 -ID:/GTK/lib/gdkmm-2.4/include
-ID:/GTK/include/pangomm-1.4 -ID:/GTK/include/atkmm-1.6
-ID:/GTK/include/gtk-2.0 -ID:/GTK/include/sigc++-2.0
-ID:/GTK/lib/sigc++-2.0/include -ID:/GTK/include/glib-2.0
-ID:/GTK/lib/glib-2.0/include -ID:/GTK/lib/gtk-2.0/include
-ID:/GTK/include/pango-1.0 -ID:/GTK/include/atk-1.0
-LD:/GTK/lib -lgtkmm-2.4-lgdkmm-2.4 -latkmm-1.6 -lgtk-win32-2.0
-lpangomm-1.4 -lglibmm-2.4 -lsigc-2.0 -lgdk-win32-2.0 -latk-1.0
-lgdk_pixbuf-2.0 -lpangowin32-1.0 -lgdi32 -lpango-1.0 -lgobject-2.0
-lgmodule-2.0 -lglib-2.0 -lintl -liconv-mwindows
test.exe:$(OBJS)
g++ -o textview.exe $(SRC) $(LIBS)
然后make一下,没有其他差错的话就会产生一个test.exe,看一下是否可以正确运行。