windowsgtk开发环境搭建方法详解图解

供稿:hz-xin.com     日期:2025-01-17

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
#include gtk.h>

static void helloWorld (GtkWidget *wid, GtkWidget *win)
{
GtkWidget *dialog = NULL;

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);
}

int main (int argc, char *argv[])
{
GtkWidget *button = NULL;
GtkWidget *win = NULL;
GtkWidget *vbox = NULL;

/* 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);

/* 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);

/* Create a vertical box with buttons */
vbox = gtk_vbox_new (TRUE, 6);
gtk_container_add (GTK_CONTAINER (win), vbox);

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);

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);

/* 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下的目录要更改成现在这个新目录了,否则会有错误提示。




windowsgtk开发环境搭建方法详解图解
\/* 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 (w...

[Windows]GTK4安装与环境配置
1. 打开环境变量设置,可以通过系统搜索栏或进入“所有设置-系统-关于-高级系统设置-环境变量”。2. 打开系统变量或用户变量中的“path”栏,添加MSYS2的bin文件安装路径,如:D:\\Program Files\\MSYS2\\usr\\bin; D:\\Program Files\\MSYS2\\mingw64\\bin; D:\\Program Files\\MSYS2\\ucrt64\\bin(具体路径根...

如何在配置Windows下的GTK+开发环境 00 半瓶墨水
pkg-config --cflags --libs gtk+-2.0>arg.bat 然后打开arg.bat在那一大堆字符串前加上gcc -o gtk gtk.c 然后在最后面加上 -mwindows,保存退出后再arg就可以正确编译了 这主要是因为我们在编译gtk程序的时候要指定包含文件路径,链接库的路径等等,而这些使用pkg-config加上上面的参数可以得到,而...

...GTK+3 VSCODE 及其他东西 在 WINDOWS 10 下跑个 HELLO WORLD 窗口...
安装完成后,你的环境应该已经准备好创建GTK+3应用。现在让我们编写一个简单的Hello World示例代码。下面是一个简单的GTK+3 Hello World代码示例,你可以直接复制粘贴到你的代码编辑器中:c include gtk.h> int main(int argc, char *argv[]){ GtkWidget *window;GtkWidget *label;gtk_init(&argc,...

如何使用icarusverilog进行仿真?
首先,我们来谈谈环境搭建。在Ubuntu系统中,可以通过终端安装Iverilog和gtkwave。确保已安装Bash,然后使用如下命令获取最新版本的软件包:请注意,如果未显示安装信息,可能需要重新安装。另外,可以执行命令来确认安装状态。对于Windows用户,可下载适用于该系统的Iverilog与gtkwave安装包。安装过程遵循官方指南...

轻量级verilog仿真环境搭建
使用gtkwave观察波形 导入波形文件到gtkwave中,通过命令行或窗口界面进行操作。选择信号后,利用左下角的按钮进行批量或单个操作,观察波形的动态变化。结论 搭建的轻量级Verilog仿真环境不仅适用于Ubuntu系统,同样适用于Windows系统,且对编写和仿真SystemVerilog同样有效。通过上述步骤,初学者可以快速上手,...

GTK+ 基础,第 2 部分: 如何使用 GTK+
在屏幕上显示窗口,应用程序调用 gtk_main(),激活主循环。主循环一直运行,直到用户关闭窗口,调用 gtk_main_quit() 时才结束。初始化以下几行初始化 GTK+ 和 i18n 支持:清单2. 初始化 GTK+ 和 i18n 支持 int main (int argc, char *argv[]) { GtkWidget* window, *button, *label, *vbox; bind...

现在怎么在windows里安装gcc呀网上的方法都试了不行?
可选步骤:安装构建工具,使用:pacman -S mingw-w64-x86_64-toolchain base-devel 至此,GTK3安装完成,其他包和信息可从网上查阅。在Windows环境下,设置GTK3运行环境需要较多步骤,建议不要轻易改变环境变量,以避免问题。在Linux环境下,使用VS CODE时,可通过动态插入PKG-CONFIG返回结果到GCC或G++...

C语言如何开发桌面GUI应用程序?
1.首先,下载安装GTK,这里有2种方法,一种是按照GTK官网的方法一步一步配置,还有一种是直接使用打包好的GTK-bundle包,这里以第二种方法为例,直接使用打包好的GTK-bundle包,这个可以直接在CSDN上找到下载,如下,解压这个zip文件到任意一个文件夹,之后需要将bin目录添加到环境变量中:2.接着打开...

GTK+简介
GTK+的灵活性和跨平台特性使其成为图形界面开发的理想选择。从GIMP到各种桌面环境,GTK+的应用场景广泛且不断扩展。它不仅适用于Linux系统,也支持Windows系统,满足了不同开发需求。GTK+的多语言支持和丰富功能使其在图形界面开发领域占据了重要地位。从桌面应用到复杂系统,GTK+在多个领域展示了其强大的...