两年多没玩GTK3了,当初因为GTK3没有很完备,想自行编译套件结果失败,这回看看我们能不能卷土重来,不过我们先参考翻译下面的这份文件:
[adsense][/adsense]
释出你的程式
你应该将所有需要的DLL档案跟你的执行档一起供货,最终使用者不需要自行下载这一包档案。
需求
GTK+3可以在Windows XP、Vista、7 跟 8上执行。
开发人员会想要有可以运作的MinGW或MSVC安装。
初始话设定
-
下载最新版的all-in-one bundle,使用解压缩软体,按滑鼠右键点击 -> “解压缩档案”(以7-Zip为例),选择你要的位置,在下面的叙述中以%GTKDIR%来称呼,范例则是以gtk3的资料夹为例。
-
新增 %GTKDIR%\bin 档你的PATH环境变数中:
- Windows XP : 滑鼠右击”我的电脑” -> “内容”.
- Windows Vista/7 : 滑鼠右击”电脑” -> “内容” -> “Advanced system settings”.
点击”进阶标签” -> “环境变数”,在”系统变数”面板中双击PATH这一行,新增;%GTKDIR%\bin到最后。
-
下面的选项可自由操作,开启命令提示字元(开始 -> 执行 -> “cmd” 或 开始 -> 寻找 “命令提示字元”) 然后输入下列命令:
- pango-querymodules > %GTKDIR%\etc\pango\pango.modules
- gdk-pixbuf-query-loaders > %GTKDIR%\lib\gdk-pixbuf-2.0\2.10.0\loaders.cache
- gtk-query-immodules-3.0 > %GTKDIR%\lib\gtk-3.0\3.0.0\immodules.cache
-
让我测试吧!在命令提示字元或是在”执行”的表单中,执行demo程式:gtk3-demo
使用GTK+3开发程式
MinGW
你应该有可以执行的安装,例如,”gcc.exe”已经在你的PATH中。
-
在命令提示字元中,确认 “pkg-config” 输出的资料可以输入:
pkg-config –cflags –libs gtk+-3.0
-
使用这个输出资料来进一步编译,像这样:
gcc -o gtk3.exe gtk3.c -mms-bitfields -Ic:/gtk3/include/gtk-3.0 -Ic:/gtk3/include/atk-1.0 -Ic:/gtk3/include/cairo […]
-
测试执行结果(这里gtk3.exe) :
MSVC
-
开启Visual Studio 命令提示字元 (2010):
-
在命令提示字元中,确认”pkg-config”输出的资料合理,输入:
pkg-config –cflags gtk+-3.0
-
使用这个输出来编译程式,像这样:
- 删除”-mms-bitfields“这个部份字串;
- 新增”-Dinline= /link /libpath:%GTKDIR%/lib gtk-win32-3.0.lib gobject-2.0.lib”这个部份到最后。
例如:
cl gtk3.c -Ic:/gtk3/include/gtk-3.0 -Ic:/gtk3/include/atk-1.0 […] -Dinline= /link /libpath:c:/gtk3/lib gtk-win32-3.0.lib gobject-2.0.lib
(“gtk-win32-3.0.lib gobject-2.0.lib”是最低的需求,你得视会含括什么函式库而定,有可能需要加入其他的.lib档案进来)
-
测试执行结果(这个程式是使用https://developer.gnome.org/gtk3/stable/gtk-getting-started.html这里的Hello World in GTK+):










