`
izuoyan
  • 浏览: 8914840 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Dev-Cpp/Mingw32 环境介绍(11)

阅读更多

<!--StartFragment -->Dev-Cpp/Mingw32 环境介绍(11)

上文回顾:

在上一篇文章中我向各位介绍了有关SDL的安装和设置。希望各位能够从中受益,按照上次的所说的。这次我们将要安装GTK运行与开发库。当然,这一切都是在Win32下进行的。希望你们能够爱上这个。

第十六章 GTK的下载和安装

GTK?很多人会好奇,既然有了MFC为什么还要GTK?其实,MFC并不是跨平台的GUI。而GTK可以在多平台上运行。如Linux,Mac。当然,也包括Win32。如果你想让你的程序在一处编写,多处编译的话。GTK是一个非常不错的GUI。
GTK在前面已经介绍过如何通过安装程序来安装。但是,对于那些比较新的库,可能你们就无法安装了。而且,也不够自由。下面,我就介绍一下如何从GTK官方下载安装GTK的Win32版本。对于GTK的介绍,我想我不用介绍了吧。

GTK的官方网站 http://www.gtk.org 找到Win32的下载地址。在上到这个网站的下载页面后,你会发现很多下载链接。这些都是GTK的一部分,你可以按照你的需要来下载相映的数据文件。不过,你必须下载如下几个文件,这是必须的。

GLib
libiconv
gettext-runtime
GTK+
atk
Pango

如果你只是运行的话,就只要下载runtime就可以了,如果你要开发的话,那 还 要下载带有dev的数据文件(注意其中还有一个是源文件)。在这篇文章写的时候,最新稳定的gtk是2.6版本的。

在下载完成以后,我们就只要压缩到一个目录中就可以了,不过,注意,对于Dev和Runtime要分别压缩到两个目录中,免得混淆。
在将Dev中的

\include\gtk-2.0
\lib\gtk-2.0\include
\include\atk-1.0
\include\pango-1.0
\include\glib-2.0
\lib\glib-2.0\include

添加为头文件路径

\lib

添加为库文件路径

在链接时添加如下参数
-lgtk-win32-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
在编译时添加如下参数
-mms-bitfields

这样,我们的GTK 开发库就算安装完成了。

不过,运行的的话就有问题了,还要对系统设置一下。

将bin文件夹和lib文件夹的路径添加入系统Path变量中就可以了。或者,你将lib文件夹内的文件复制到bin文件夹中,只将bin的路径添加为系统变量也可以。(后者是官方网站建议的)。

至此我们的GTK开发环境和运行环境都设置好了。下面给出一组简单的Makefile和例子代码。

#MakeFile.txt
CC=gcc
GTK_PATH=
CFLAGS=-mms-bitfields -I"$(GTK_PATH)\include\gtk-2.0" -I"$(GTK_PATH)\lib\gtk-2.0\include" -I"$(GTK_PATH)\include\atk-1.0" -I"$(GTK_PATH)\include\pango-1.0" -I"$(GTK_PATH)\include\glib-2.0" -I"$(GTK_PATH)\lib\glib-2.0\include"

LFLAGS=-L"$(GTK_PATH)\lib" lgtk-win32-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

all:
$(CC) $(CFLAGS) -c gtk.c -o gtk.o
$(CC) $(LFLAGS) -o gtk.exe gtk.o

#MakeFile.txt End


//gtk.c

#include <gtk/gtk.h>
static void destroy( GtkWidget *widget, gpointer data )
{
gtk_main_quit ();
}
int main( int argc, char *argv[] )
{
GtkWidget *window;
gtk_init (&argc, &argv);
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_title(GTK_WINDOW(window),"GTK+ Programe");
g_signal_connect (G_OBJECT (window), "destroy",
G_CALLBACK (destroy), NULL);
gtk_widget_show (window);
gtk_main ();
return 0;
}

//gtk.c end

至此,有关GTK的设置和安装就到这里介绍完成了。由于前面对于设置的内容有过详细的介绍。所以,这里就不做太深入的操作说明了。如果有不明白的,可以在这里提出也可以寻找以前的内容。由于本系列文章有很多地方转载,所以如果您是在转载的网站上查看。那么http://blog.csdn.net/visioncat/上能找到,完整的,最新修正后的文章。同时,你也可以在上面相应的文章下,提出您的问题和建议以得到最直接的帮助。

文外音:
在这篇文章以后,MinGW/Dev-C++ 将进入中级篇介绍了。原本那些只对Dev-Cpp的设置和操作的介绍将基本停止(只在必要时说明)。转而对MinGW和其他GCC的Win32编译器做更仔细的介绍以供您深入使用。我想您也不想总是停留在某个IDE下使用Dev-Cpp吧。其实,Dev-Cpp中的核心编译器就是MinGW。所以,您在中级篇中读到的内容同样能够应用到Dev-Cpp中。有些你可以对Dev-Cpp做一些修改便可以成功使用中级篇的内容。不过,我还是会以MakeFile的介绍为主。就好像我第十五,十六章所展示的一样。不过,内容会更为丰富。敬请期待。


<!--StartFragment -->STUDIO软件开发组(SDT)
STUDIO Development Team
北斗星君(黄庠魁)

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics