Windows上GTK3的安装跟使用教学

两年多没玩GTK3了,当初因为GTK3没有很完备,想自行编译套件结果失败,这回看看我们能不能卷土重来,不过我们先参考翻译下面的这份文件:

[adsense][/adsense]

释出你的程式

你应该将所有需要的DLL档案跟你的执行档一起供货,最终使用者不需要自行下载这一包档案。

需求

GTK+3可以在Windows XP、Vista、7 跟 8上执行。

开发人员会想要有可以运作的MinGWMSVC安装。

初始话设定

  1. 下载最新版的all-in-one bundle,使用解压缩软体,按滑鼠右键点击 -> “解压缩档案”(以7-Zip为例),选择你要的位置,在下面的叙述中以%GTKDIR%来称呼,范例则是以gtk3的资料夹为例。

    2014-06-27_151538

  2. 新增 %GTKDIR%\bin 档你的PATH环境变数中:

    • Windows XP : 滑鼠右击”我的电脑” -> “内容”.
    • Windows Vista/7 : 滑鼠右击”电脑” -> “内容” -> “Advanced system settings”.

    点击”进阶标签” -> “环境变数”,在”系统变数”面板中双击PATH这一行,新增;%GTKDIR%\bin到最后。

    2014-06-27_152639

    2014-06-27_152742

  3. 下面的选项可自由操作,开启命令提示字元(开始 -> 执行 -> “cmd” 开始 -> 寻找 “命令提示字元”) 然后输入下列命令:

  4. pango-querymodules > %GTKDIR%\etc\pango\pango.modules
  5. gdk-pixbuf-query-loaders > %GTKDIR%\lib\gdk-pixbuf-2.0\2.10.0\loaders.cache
  6. gtk-query-immodules-3.0 > %GTKDIR%\lib\gtk-3.0\3.0.0\immodules.cache
  7. 让我测试吧!在命令提示字元或是在”执行”的表单中,执行demo程式:gtk3-demo

使用GTK+3开发程式

MinGW

你应该有可以执行的安装,例如,”gcc.exe”已经在你的PATH中。

  1. 在命令提示字元中,确认 “pkg-config” 输出的资料可以输入:

    pkg-config –cflags –libs gtk+-3.0

  2. 使用这个输出资料来进一步编译,像这样:

    gcc -o gtk3.exe gtk3.c -mms-bitfields -Ic:/gtk3/include/gtk-3.0 -Ic:/gtk3/include/atk-1.0 -Ic:/gtk3/include/cairo […]

  3. 测试执行结果(这里gtk3.exe) :

MSVC

  1. 开启Visual Studio 命令提示字元 (2010):

    2014-06-27_153830

  2. 在命令提示字元中,确认”pkg-config”输出的资料合理,输入:

    pkg-config –cflags gtk+-3.0

  3. 使用这个输出来编译程式,像这样:

    • 删除”-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档案进来)

  4. 测试执行结果(这个程式是使用https://developer.gnome.org/gtk3/stable/gtk-getting-started.html这里的Hello World in GTK+):

    2014-06-27_154445