使用gtkD的准备

准备找一个GUI库,
看了半天,
决定使用gtkD,
下面记录一下使用方法,
以便日后查阅。

前提:
我使用的是D2.053,
根据介绍,
D1应该也能够使用gtkD。

[b]一、下载gtkD所需的文件[/b]
URL:http://www.dsource.org/projects/gtkd
1、
目前最新版本是gtkD-1.4.1,
先下载它。
下载的link:http://www.dsource.org/projects/gtkd/browser/downloads/gtkD-1.4.1.zip?format=raw
[quote]Latest Release: 1.4.1 (2011-03-28)
The fifth release of GtkD for DMD 1.0/2.0 is now available: gtkD-1.4.1.zip
GtkD 1.4.1 works with both Phobos and Tango, and works with both D 1.0 and D 2.0. [/quote]
2、
为了运行gtkD程序,
如果是windows平台,
需要安装GTK+ runtime。
下载的link:http://sourceforge.net/projects/gtk-win/files/GTK%2B%20Runtime%20Environment/
[quote]Linux Users: be sure to have the latest GTK+ libraries installed!
Windows Users: please use one of the official GTK+ installers: version 2.22.
(gtk2-runtime-2.22.0-2010-10-21-ash.exe)[/quote]


[b]二、编译gtkD-1.4.1[/b]
其实,
将下载后的gtkD-1.4.1.zip解压缩后,
根目录的README_DSSS中记述了如何进行编译和安装。
这里记录一下简单的步骤:
1、
如果还没有安装DSSS,先安装DSSS,
当前最新版本是0.78。
官网:http://www.dsource.org/projects/dsss
下载的link:http://svn.dsource.org/projects/dsss/downloads/0.78/dsss-0.78-x86-windows.zip
注:为了方便使用,记得把DSSS的bin目录加到PATH环境变量中。
2、
编译gtkD-1.4.1
进入解压缩后的gtkD-1.4.1\gtkD目录,
运行下面的命令:
dsss build

此时会出现编译错误:
[quote]atk => DD-atk
gobject\ObjectG.d(86): module gc cannot read file 'std\gc.d'
Command D:\dmd_soft\dsss\bin\rebuild.exe returned with code 1, aborting.
Error: Command failed, aborting.[/quote]

这是由于gobject\ObjectG.d(L77~L87)中
version(Tango) {
private import tango.core.Memory;

version = druntime;
} else version(D_Version2) {
private import core.memory;

version = druntime;
} else {
private import std.gc;
}

version的判断出现了问题,
需要在dsss安装目录的“etc\rebuild\dmd-win”中,
修改为下面的内容:
version=D_Version2
version=DigitalMars
noversion=GNU
noversion=linux
noversion=Unix
……


其中第一行“version=D_Version2”是新追加的。

再次运行dsss build就可以了。

3、
安装编译后的gtkD所需的di和lib文件。
我一般把第三方库放到这个目录中:
<DMD2_HOME>\windows\import
所以,我使用下面的命令:
dsss install --prefix=<DMD2_HOME>\windows\import\gtkD


安装完成后,
会在<DMD2_HOME>\windows\import中多了一个gtkD的目录,
里面就是所需要的di文件和lib文件了。


[b]三、动作确认[/b]
1、输入源代码
gtkD编译并安装完毕后,
就可以写gtkD程序了,
我们可以使用官网提供的sample,
创建test.d:
import gtk.MainWindow;
import gtk.Label;
import gtk.Main;

void main(string[] args)
{
Main.init(args);
MainWindow win = new MainWindow("Hello World");
win.setDefaultSize(200, 100);
win.add(new Label("Hello World"));
win.showAll();

Main.run();
}


2、编译源代码
使用下面的命令进行编译:
dmd test.d DD-atk.lib DD-cairo.lib DD-gdk.lib DD-gdkpixbuf.lib DD-gio.lib DD-glade.lib DD-glib.lib DD-gobject.lib DD-gthread.lib DD-gtk.lib -IE:\dm_soft\dmd2\windows\import\gtkD\include\d 


因为我也不知道编译时具体使用哪些lib文件,
所以,我就都给写上了。
最后,别忘记用-I参数指出lib文件所在的目录。

3运行test.exe
为了运行生成的test.exe,
需要从C:\Program Files\GTK2-Runtime\bin中(“一、2中安装的runtime”),
将以下两个dll文件复制到与之相同的目录中:
libgdk-win32-2.0-0.dll
zlib1.dll
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值