首先安装配置好codeblock,并且可以正常编译c/c++程序
官网:https://www.codeblocks.org/
下载gtk开发库:
https://download.gnome.org/binaries/win64/gtk%2B/
https://download.gnome.org/binaries/win32/gtk%2B/
1.解压gtk开发库,我将gtk解压安装在D:\libs路径下
2.将gtk库目录下的bin目录加入到系统环境变量path中去。gtk程序运行时需要其bin目录下动态库的支撑。
3.打开cmd,输入以下命令查看gtk的编译链接参数,根据安装的是gtk2.0或者gtk3.0输入不同的命令
pkg-config gtk+-2.0 --cflags --libs
pkg-config gtk+-3.0 --cflags --libs
输出的参数
-mms-bitfields -ID:/libs/gtk+-bundle-2.12.11-20080720/include/gtk-2.0 -ID:/libs/gtk+-bundle-2.12.11-20080720/lib/gtk-2.0/include -ID:/libs/gtk+-bundle-2.12.11-20080720/include/atk-1.0 -ID:/libs/gtk+-bundle-2.12.11-20080720/include/cairo -ID:/libs/gtk+-bundle-2.12.11-20080720/include/pango-1.0 -ID:/libs/gtk+-bundle-2.12.11-20080720/include/glib-2.0 -ID:/libs/gtk+-bundle-2.12.11-20080720/lib/glib-2.0/include -ID:/libs/gtk+-bundle-2.12.11-20080720/include/libpng12 -LD:/libs/gtk+-bundle-2.12.11-20080720/lib -lgtk-win32-2.0 -lgdk-win32-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpangowin32-1.0 -lgdi32 -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lintl
4.打开codeblock,settings,compiler,global compiler settings,search directories,compiler,设置附加头文件搜索目录
D:/libs/gtk+-bundle-2.12.11-20080720/include/gtk-2.0
D:/libs/gtk+-bundle-2.12.11-20080720/lib/gtk-2.0/include
D:/libs/gtk+-bundle-2.12.11-20080720/include/atk-1.0
D:/libs/gtk+-bundle-2.12.11-20080720/include/cairo
D:/libs/gtk+-bundle-2.12.11-20080720/include/pango-1.0
D:/libs/gtk+-bundle-2.12.11-20080720/include/glib-2.0
D:/libs/gtk+-bundle-2.12.11-20080720/lib/glib-2.0/include
D:/libs/gtk+-bundle-2.12.11-20080720/include/libpng12

- search directories,linker,设置附加库搜索目录
D:/libs/gtk+-bundle-2.12.11-20080720/lib

- compiler settings,other options,编译器设置编译时参数,加入
-mms-bitfields -std=c++11
使用Microsoft的方式进行对齐操作和启用对c++11的支持

- Linker settings ,链接器设置,加入链接所需的gtk库,你可以通过add一个一个的将链接库加入link libraries,但是不如直接加链接参数指定链接库方便
-lgtk-win32-2.0 -lgdk-win32-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpangowin32-1.0 -lgdi32 -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lintl -lpthread

8.测试程序
#include<gtk/gtk.h>
int main(int argc,char* argv[]){
GtkWidget* window;
GtkWidget* label;
gtk_init(&argc,&argv);
window=gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_title(GTK_WINDOW(window),"hello window");
gtk_window_set_default_size(GTK_WINDOW(window),300,200);
label=gtk_label_new("hello world!");
gtk_container_add(GTK_CONTAINER(window),label);
g_signal_connect(G_OBJECT(window),"destroy",G_CALLBACK(gtk_main_quit),NULL);
gtk_widget_show_all(window);
gtk_main();
return 0;
}
编译运行,出现hello窗口说明配置成功

由于codeblock自身支持gtk项目,因此可以不必像之前麻烦的配置编译链接参数。
直接打开codeblock
file,new,project,直接选择GTK+ project

之后配置项目名称和所在位置

接下来选择gtk开发环境的安装位置

编译器和输出设置

直接就可以创建出gtk项目了。系统自动生成默认gtk代码,编译运行没有任何问题
