Windows 10系统下在Code::Blocks中安装GTK的问题求助
针对Code::Blocks + GTK+3(Win10 64位)的靠谱配置方案
兄弟,我之前在Win10 64位上用Code::Blocks搭GTK+3搞C++ GUI踩过不少坑,给你捋个亲测有效的步骤,应该能帮你搞定:
1. 先确认你的Code::Blocks编译器版本
打开Code::Blocks,点Settings -> Compiler,看清楚当前用的是MinGW还是MinGW-w64,是32位还是64位。核心原则:GTK包的位数必须和编译器完全一致,比如你用64位MinGW-w64,就必须下64位的GTK包,这是很多人踩坑的根源。
2. 用MSYS2安装GTK+3(最稳定的方式)
之前那些老教程的预编译包容易缺依赖,官方现在推荐用MSYS2维护,步骤如下:
- 下载64位MSYS2安装包,装到非中文路径,比如
C:\msys64 - 打开「MSYS2 MinGW 64-bit」终端(别开成普通MSYS终端,否则装的是32位包),先更新包数据库:
更新完会提示重启终端,重启后再补更一次:pacman -Syupacman -Su - 一键安装GTK+3和编译工具:
这个命令会自动搞定GTK3、GCC、make所有依赖,不用自己瞎找。pacman -S mingw-w64-x86_64-gtk3 mingw-w64-x86_64-toolchain
3. 配置Code::Blocks用MSYS2的编译器
- 打开Code::Blocks,点
Settings->Compiler->Toolchain executables - 点
...按钮,选MSYS2的MinGW64路径:C:\msys64\mingw64\bin - 检查下面的工具路径,确保和这些对应:
- C compiler:
gcc.exe - C++ compiler:
g++.exe - Linker for dynamic libs:
g++.exe - Linker for static libs:
ar.exe - Debugger:
gdb.exe
确认后点OK保存。
- C compiler:
4. 给项目配置编译选项
- 新建一个C++项目(Console或Empty都行),右键项目 ->
Build options - 切到
Compiler settings->#defines,添加:
避免过时API的警告刷屏。GTK_DISABLE_DEPRECATED - 切到
Search directories->Compiler,添加头文件路径:
(子目录会被编译器自动搜索,不用挨个加,省事儿)C:\msys64\mingw64\include - 切到
Search directories->Linker,添加库路径:C:\msys64\mingw64\lib - 切到
Linker settings->Other linker options,添加:
注意是反引号(不是单引号)!Code::Blocks会自动调用pkg-config获取正确的链接参数,不用手动加一堆lib文件。`pkg-config --cflags --libs gtk+-3.0`
5. 测试配置是否成功
新建main.cpp,粘贴这段测试代码:
#include <gtk/gtk.h> static void activate(GtkApplication* app, gpointer user_data) { GtkWidget *window; window = gtk_application_window_new(app); gtk_window_set_title(GTK_WINDOW(window), "Hello GTK!"); gtk_window_set_default_size(GTK_WINDOW(window), 200, 200); gtk_widget_show_all(window); } int main(int argc, char **argv) { GtkApplication *app; int status; app = gtk_application_new("org.gtk.example", G_APPLICATION_DEFAULT_FLAGS); g_signal_connect(app, "activate", G_CALLBACK(activate), NULL); status = g_application_run(G_APPLICATION(app), argc, argv); g_object_unref(app); return status; }
编译运行,如果弹出一个带「Hello GTK!」标题的小窗口,就说明配置成功了!
避坑提醒
- 所有路径别碰中文:MSYS2安装路径、Code::Blocks项目路径都不能有中文,否则会出现找不到文件的诡异错误。
- 环境变量补全:如果Code::Blocks提示找不到pkg-config,把
C:\msys64\mingw64\bin加到系统PATH里,重启Code::Blocks就行。 - 别乱改版本:别随便装GTK2的包,现在GTK3是主流,教程也更全。
内容的提问来源于stack exchange,提问作者John Doe




