准备找一个GUI库,
看了半天,
决定使用gtkD,
下面记录一下使用方法,
以便日后查阅。
前提:
我使用的是D2.053,
根据介绍,
D1应该也能够使用gtkD。
一、下载gtkD所需的文件
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
引用
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.
2、
为了运行gtkD程序,
如果是windows平台,
需要安装GTK+ runtime。
下载的link:http://sourceforge.net/projects/gtk-win/files/GTK%2B%20Runtime%20Environment/
引用
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)
二、编译gtkD-1.4.1
其实,
将下载后的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
此时会出现编译错误:
引用
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.
这是由于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文件了。
三、动作确认
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
分享到:
相关推荐
GtkD 是一个用 D 语言实现的 GTK+ 绑定库,它允许 D 语言开发者利用 GTK+ 的丰富功能来创建跨平台的图形用户界面(GUI)。GTK+ 是一款广泛使用的开源 GUI 工具包,支持 Linux、Windows 和 macOS 等操作系统。GtkD ...
使用 GtkD 开发时,开发者可以轻松创建窗口、按钮、文本框等各种控件,并实现事件处理、布局管理等功能。例如,通过 `Window` 类可以创建一个新的窗口,而 `Button` 类则用于创建按钮。此外,GtkD 还支持响应用户...
要求Linux,Windows或Mac Gtk库dmd,gdc或ldc安装可选:OpenGL库(在Linux上可以使用mesa)GtkGLext 3您是谁? 如果您要编写一些非常酷的D和Gtk +应用程序,请在http://gtkd.org/download.html上获取gtkD发行档案。 ...
结合360极速浏览器,可能是为了利用其内置的翻译功能,因为GTKD Coding的学习资料可能多为英文,对于非英语使用者来说,浏览器的实时翻译功能能大大提高阅读理解的效率。不过,要注意的是,自动翻译可能会存在一定的...
例如,启动一个应用程序并在我上次使用它的位置打开窗口。 对话框也一样。 对于单显示器设置,每次都将窗口打开到相同的默认位置是很好的选择,但是对于三个显示器,我在寻找东西的过程中遇到了麻烦。 另外,相对于...
Pihlaja将成为至少Linux的基于场景的视频和音频编辑器。 它使用gtkD,gtreamerD,Gnonlin和cairo以D编程语言编写。 它非常Alpha,除了测试和开发外,还不能用于其他任何用途。