为 C++ 开发设置 GTK+ 时遇到问题
Trouble setting up GTK+ for C++ Development
我在 Visual Studio 中创建了一个 example.cpp
文件,其中只有一行:
#include <gtk/gtk.h>
我收到以下错误:
cannot open source file "gtk/gtk.h"
以下是我设置 GTK+ 的步骤。
我从 http://win32builder.gnome.org/ 选择 gtk+-bundle_3.10.4-20131202_win64.zip
下载了最新的稳定版 GTK+。
然后我按照 gtk+-bundle_3.10.4-20131202_win64.README.txt
进行了以下说明。
总结一下:
- 我将
bin
文件夹添加到我的路径
- 确保系统上没有先前版本的 GTK+
- 准备好 Pango、GDK-Pixbuf 和 GTK+IMModules
- 通过 运行
gtk3-demo
验证它有效
- 通过 运行
pkg-config --cflags --libs gtk+-3.0
验证它在系统中,输出:
-mms-bitfields -IE:/Developer/external/gtk-3.10.4_win64/include/gtk-3.0 -IE:/Developer/external/gtk-3.10.4_win64/include/cairo -IE:/Developer/external/gtk-3.10.4_win64/include/pango-1.0 -IE:/Developer/external/gtk-3.10.4_win64/include/atk-1.0 -IE:/Developer/external/gtk-3.10.4_win64/include/cairo -IE:/Developer/external/gtk-3.10.4_win64/include/pixman-1 -IE:/Developer/external/gtk-3.10.4_win64/include -I/srv/win32builder/fixed_3104/build/win64/include/freetype2 -I/srv/win32builder/fixed_3104/build/win64/include/libxml2 -IE:/Developer/external/gtk-3.10.4_win64/include/libxml2 -I/srv/win32builder/fixed_3104/build/win64/include/freetype2 -IE:/Developer/external/gtk-3.10.4_win64/include/libpng16 -IE:/Developer/external/gtk-3.10.4_win64/include/gdk-pixbuf-2.0 -IE:/Developer/external/gtk-3.10.4_win64/include/libpng16 -IE:/Developer/external/gtk-3.10.4_win64/include/glib-2.0 -IE:/Developer/external/gtk-3.10.4_win64/lib/glib-2.0/include -LE:/Developer/external/gtk-3.10.4_win64/lib -lgtk-3 -lgdk-3 -lgdi32 -limm32 -lshell32 -lole32 -Wl,-luuid -lwinmm -lz -lpangocairo-1.0 -lpangowin32-1.0 -lgdi32 -lpango-1.0 -lm -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lintl
其中 E:/Developer/external/gtk-3.10.4_win64
是我将 GTK 文件解压缩到的位置。
2020-03-19更新:
这个答案是旧的,我更新这个故事:
原文内容:
这些建筑很旧。您应该避免从随机来源获取您的 GTK+ 二进制文件。官方方式在GTK+官方网站上有记载:https://www.gtk.org/download/windows.php
您应该安装 MSYS2,它为 Windows 提供了大量 open-source 包。它使用 pacman 包管理器,然后允许您安装 GTK+ 3。它始终具有 GTK+ 3 的最新 up-to 日期版本(MSYS2 中提供的 3.22.7-1 作为我写的日期)。
我在 Visual Studio 中创建了一个 example.cpp
文件,其中只有一行:
#include <gtk/gtk.h>
我收到以下错误:
cannot open source file "gtk/gtk.h"
以下是我设置 GTK+ 的步骤。
我从 http://win32builder.gnome.org/ 选择 gtk+-bundle_3.10.4-20131202_win64.zip
下载了最新的稳定版 GTK+。
然后我按照 gtk+-bundle_3.10.4-20131202_win64.README.txt
进行了以下说明。
总结一下:
- 我将
bin
文件夹添加到我的路径 - 确保系统上没有先前版本的 GTK+
- 准备好 Pango、GDK-Pixbuf 和 GTK+IMModules
- 通过 运行
gtk3-demo
验证它有效
- 通过 运行
pkg-config --cflags --libs gtk+-3.0
验证它在系统中,输出:
-mms-bitfields -IE:/Developer/external/gtk-3.10.4_win64/include/gtk-3.0 -IE:/Developer/external/gtk-3.10.4_win64/include/cairo -IE:/Developer/external/gtk-3.10.4_win64/include/pango-1.0 -IE:/Developer/external/gtk-3.10.4_win64/include/atk-1.0 -IE:/Developer/external/gtk-3.10.4_win64/include/cairo -IE:/Developer/external/gtk-3.10.4_win64/include/pixman-1 -IE:/Developer/external/gtk-3.10.4_win64/include -I/srv/win32builder/fixed_3104/build/win64/include/freetype2 -I/srv/win32builder/fixed_3104/build/win64/include/libxml2 -IE:/Developer/external/gtk-3.10.4_win64/include/libxml2 -I/srv/win32builder/fixed_3104/build/win64/include/freetype2 -IE:/Developer/external/gtk-3.10.4_win64/include/libpng16 -IE:/Developer/external/gtk-3.10.4_win64/include/gdk-pixbuf-2.0 -IE:/Developer/external/gtk-3.10.4_win64/include/libpng16 -IE:/Developer/external/gtk-3.10.4_win64/include/glib-2.0 -IE:/Developer/external/gtk-3.10.4_win64/lib/glib-2.0/include -LE:/Developer/external/gtk-3.10.4_win64/lib -lgtk-3 -lgdk-3 -lgdi32 -limm32 -lshell32 -lole32 -Wl,-luuid -lwinmm -lz -lpangocairo-1.0 -lpangowin32-1.0 -lgdi32 -lpango-1.0 -lm -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lintl
其中 E:/Developer/external/gtk-3.10.4_win64
是我将 GTK 文件解压缩到的位置。
2020-03-19更新:
这个答案是旧的,我更新这个故事:
原文内容:
这些建筑很旧。您应该避免从随机来源获取您的 GTK+ 二进制文件。官方方式在GTK+官方网站上有记载:https://www.gtk.org/download/windows.php
您应该安装 MSYS2,它为 Windows 提供了大量 open-source 包。它使用 pacman 包管理器,然后允许您安装 GTK+ 3。它始终具有 GTK+ 3 的最新 up-to 日期版本(MSYS2 中提供的 3.22.7-1 作为我写的日期)。