windows gtk+开发环境搭建方法详解(图解)

GTK+开发环境搭建

“工欲善其事,必先利其器”首先介绍一下GTK+开发环境的搭建,网上很多所谓的GTK的开发环境的搭建基本都是抄来抄去,也不知道有没有人使用他们介绍的方法搭建并编译成功,很不幸的是我使用他们写的方法没有搭建成功,所以有必要再增加一个原创版本来介绍GTK+开发环境的搭建,这里介绍windows下两种环境搭建的方法,ubuntu的我就不说了,apt-get的功能真是太强大,直接sudo apt-get install gtk+2.0就搞定了,使用gcc编译添加编译条件就没问题了.现在说说windows吧!第一种是使用VS开发环境,我打算基于VS2012来讲解,我的电脑里装的是2012;另一种是使用codeblocks开发工具.

准备步骤一:

首先是gtk+开发包版本的选择,这个非常重要,我在搭建的时候参考了非常多的资料,官方的资料、个人的心得,怎么都没有成功,最后偶然的机会发现是版本的问题。gtk+的官网上windows下的开发包分成32bit和64bit的,



网上我看到的文章说的都是根据自己的系统选择开发包版本,我的系统是windows 8.1 x64 pro版本,足够新了吧!很多软件开发人员喜欢xp系统,但是我认为最新的东西才是适合软件开发人员的,如果我们自己都固步自封,怎么做出好的东西给客户呢,新的东西虽然冒险,但是你可以根据自己项目的特点进行取舍,现在大家不喜欢用新东西的原因无非是出了问题无法很容易的找到解决方案,这个看自己了!我这是自己折腾着玩,没有老板在后面催着,所以我选择最新的系统、最新的开发包。无论是你的系统是32bit还是64bit的,不要根据系统选择开发包,要根据编译器是32bit还是64bit来选择开发包,无论VS2012还是codeblocks默认的编译器都是32bit的,所以选择32bit的开发包即可,由于gtk+是使用gcc编译的或者minGW,使用VS2012的MS编译器有点小问题,但是不影响使用。到www.gtk.org网站上下载gtk All-in-one bundle版本,这个版本打包了所有需要的文件,比较方便,我下载的是gtk+bundle_3.6.4-20130921_win32.zip和gtk+bundle_2.24.10-20120208_win32.zip是目前3.x和2.x最新的版本了。



为什么下载2.x的是给codeblocks准备的,codeblocks不支持直接创建3.x版本的开发环境,但是支持从2.x版本直接创建gtk+工程,



这个稍后再讲。现在开始:

准备步骤二:

将下载的开发包压缩文件解压缩到一个文件夹内,在环境变量的path下将这个文件夹下的bin目录添加进去,



这个目录是我试验64bit时的截图,不用纠结这个。



添加完成之后,你们可以试着运行bin目录下的gtk3-demo.exe,如果配置没有错误将会出现GTK+ Code Demos的窗口,这就说明你的配置是没有错误的。



准备工作完毕,现在可以开始了。

VS2012搭建GTK+开发环境

1.新建一个空的C++项目,Visual C++—常规—空项目



2.右键项目—选择“属性”,打开属性设置。



3.配置属性—C/C++—常规—附加包含目录—编辑



4.添加新行



将开发包的include文件夹添加进去,



需要添加的目录有:

include,及include下的所有文件夹(atk-1.0,cairo,fontconfig,freetype2,gail-3.0,gdk-pixbuf-2.0,gio-win32-2.0,glib-2.0,jasper,libcroco-0.6,libpng15,librsvg-2.0,libxml2,lzma,pango-1.0,pixman-1),和lib文件夹下的glib-2.0/include、libffi-3.0.12/include(千万不要忘记这两个文件)。很不幸的是这些文件夹只能一个一个的添加,不能批量添加。添加完成之后会像这样。



5.配置属性—链接器—常规—附加库目录—编辑,将lib目录添加进去



6.配置属性—链接器—输入—附加依赖项—编辑,将lib文件夹下则*.lib文件全部添加进去,我的lib目录下有:

atk-1.0.lib

cairo.lib

fontconfig.lib

gailutil.lib

gdk_pixbuf-2.0.lib

gdk-win32-3.0.lib

gio-2.0.lib

glib-2.0.lib

gmodule-2.0.lib

gobject-2.0.lib

gthread-2.0.lib

gtk-win32-3.0.lib

pango-1.0.lib

pangocairo-1.0.lib

pangoft2-1.0.lib

pangowin32-1.0.lib



添加完成之后像这样:



每行回车,后面没有“;”

7.新建一个main.cpp文件,在文件中输入

复制代码

代码如下:

#include <stdlib.h>
#include <gtk/gtk.h></p><p>static void helloWorld (GtkWidget *wid, GtkWidget *win)
{
GtkWidget *dialog = NULL;</p><p> dialog = gtk_message_dialog_new (GTK_WINDOW (win), GTK_DIALOG_MODAL, GTK_MESSAGE_INFO, GTK_BUTTONS_CLOSE, "Hello World!");
gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_CENTER);
gtk_dialog_run (GTK_DIALOG (dialog));
gtk_widget_destroy (dialog);
}</p><p>int main (int argc, char *argv[])
{
GtkWidget *button = NULL;
GtkWidget *win = NULL;
GtkWidget *vbox = NULL;</p><p> /* Initialize GTK+ */
g_log_set_handler ("Gtk", G_LOG_LEVEL_WARNING, (GLogFunc) gtk_false, NULL);
gtk_init (&argc, &argv);
g_log_set_handler ("Gtk", G_LOG_LEVEL_WARNING, g_log_default_handler, NULL);</p><p> /* Create the main window */
win = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_container_set_border_width (GTK_CONTAINER (win), 8);
gtk_window_set_title (GTK_WINDOW (win), "Hello World");
gtk_window_set_position (GTK_WINDOW (win), GTK_WIN_POS_CENTER);
gtk_widget_realize (win);
g_signal_connect (win, "destroy", gtk_main_quit, NULL);</p><p> /* Create a vertical box with buttons */
vbox = gtk_vbox_new (TRUE, 6);
gtk_container_add (GTK_CONTAINER (win), vbox);</p><p> button = gtk_button_new_from_stock (GTK_STOCK_DIALOG_INFO);
g_signal_connect (G_OBJECT (button), "clicked", G_CALLBACK (helloWorld), (gpointer) win);
gtk_box_pack_start (GTK_BOX (vbox), button, TRUE, TRUE, 0);</p><p> button = gtk_button_new_from_stock (GTK_STOCK_CLOSE);
g_signal_connect (button, "clicked", gtk_main_quit, NULL);
gtk_box_pack_start (GTK_BOX (vbox), button, TRUE, TRUE, 0);</p><p> /* Enter the main loop */
gtk_widget_show_all (win);
gtk_main ();
return 0;
}

然后运行,得到:



到此一个可以使用的VS的GTK+开发环境搭建完毕。这样的步骤本人一步步试验得来,应该没有错误。可放心使用,哈!

codeblocks下搭建GTK+开发环境

我的codeblocks是12.11版本,是目前最新的codeblocks版本,如果使用2.x版本的GTK+那么建立一个GTK+工程很容易。

1.选择GTK+ progect



2.next—填写工程名字

可以随便填写

3.选择开发包的直接根目录



如果出现上面的提示证明你使用的是3.x的开发包。出现上面错误是因为codeblocks的问题,你只需要重新指定一个指向2.x开发包的目录即可。

选择“next”,并点击“finsh”,至此一个新的GTK+工程就完成了。

如果你原来添加到环境变量path下的目录要更改成现在这个新目录了,否则会有错误提示。

(0)

相关推荐

  • JAVA开发平台建立方法详解

    我并不建议新手用记事本的方式写Java代码,那是古板的作风,初学Java主要是学语言基础,不要为那些烦人的环境配置和编译命令困扰.当然这些在你深入学习Java时是需要了解的(而在工作中几乎不会遇到,J ...

  • Go语言开发环境搭建与初探(Windows下)-全面

    Go语言开发环境的搭建(Windows) 操作方法 01 在Go语言的Google代码项目上下载Windows下的Go语言开发包(下载地址见工具).有zip压缩版和msi安装版两个按本下载.(这里使用 ...

  • 禁用p2p下载工具的几种方法详解[图文]

    小编和同事聊天,经常听到同事抱怨在家上网网速不给力的情况。对于网速不给力的现象导致的原因有很多,其中就包括用户自己在使用一些迅雷或者电驴p2p下载工具,这样就会影响网速了。那么今天小编就给大家介绍禁用 ...

  • Linux下Android开发环境搭建详细步骤

    Linux下Android开发环境搭建详细步骤

  • win7下Android开发环境搭建详细步骤

    Android软件开发也相当流行,本文教程分享就是Win7系统搭建Android开发环境的方法,程序开发者往往搭建安卓Adroid开发环境,那么该如何搭建Android开发环境?要搭建Java开发环境 ...

  • 微信刮刮卡怎么做?最快速的微信刮刮卡制作方法详解

    微信刮刮卡是一把营销的利剑,但是如何用最少的资金做一个微信刮刮卡呢,很多朋友都表示自己不知道微信刮刮卡怎么做,今天微信人生的小编在这里就和大家分享一下最简单,最快速的微信刮刮卡制作方法。喜欢的朋友一起 ...

  • win10系统怎么卸载 win10卸载方法详解

    win10系统怎么卸载?微软发布win10系统升级后,相信很多人都已经下载使用了吧!如果不想使用了怎么办?下面,绿茶小乐哥分享win10卸载方法详解,想了解的一起来看看吧! 微软希望我们每一个人都升级 ...

  • DOS下windows系统查看wifi密码图文详解

    DOS下windows系统查看wifi密码的方法步骤如下所示: 首先,按win+R键,win键如下 弹出框中输入cmd 在弹出界面输入 netsh wlan show profiles 你可以看到你链 ...

  • 让 history 命令显示日期和时间方法详解

    我们都对 history 命令很熟悉.它将终端上 bash 执行过的所有命令存储到 .bash_history 文件中,来帮助我们复查用户之前执行过的命令. 默认情况下 history 命令直接显示用 ...