Windows 7 如何在Win7和dmd(D2)中使用gtkD?
我下载了Windows 7 如何在Win7和dmd(D2)中使用gtkD?,windows-7,d,dmd,gtkd,Windows 7,D,Dmd,Gtkd,我下载了gtkD-1.5.1并解压缩到一些gtkD目录。我下一步做什么?我不明白我是必须编译并将其链接到某个库,还是只在代码中链接到它 编辑:(@dsimcha) gtkD主目录中的命令dsss build告诉我: Could not detect versions. Could not detect versions. Could not detect versions. Could not detect versions. Could not detect versions. undemo
gtkD-1.5.1
并解压缩到一些gtkD
目录。我下一步做什么?我不明白我是必须编译并将其链接到某个库,还是只在代码中链接到它
编辑:(@dsimcha) gtkD主目录中的命令
dsss build
告诉我:
Could not detect versions.
Could not detect versions.
Could not detect versions.
Could not detect versions.
Could not detect versions.
undemofy
Could not detect versions.
Could not detect versions.
atk => DO-atk
cairo => DO-cairo
gdk => DO-gdk
gdkpixbuf => DO-gdkpixbuf
gio => DO-gio
glade => DO-glade
glib => DO-glib
gobject => DO-gobject
gthread => DO-gthread
gtk => DO-gtk
gtkc => DO-gtkc
pango => DO-pango
但是没有创建库?您需要将gtkD编译成二进制文件。这样做的标准方法是使用。基本上,下载并安装DSSS,然后从gtkD主目录执行
DSSS构建
编辑:
使用DSSS构建gtkD后,gtkD目录中将有一堆.lib文件。您可以将这些静态链接到应用程序中。此外,您需要在Windows安装中安装GTK+库。我在Windows上使用DSSS时也遇到问题,您可以尝试使用 确保build.exe位于路径的某个位置,然后在gtkD/src/build文件夹中打开一个命令行。然后运行
buildgtkd.brf
创建gtkD.lib
根据您的DMD版本,您将得到很多错误。我得到的大多数是typedef被弃用了。任何发生这种情况的文件(它会告诉你)我只是将typedef重构为alias,它工作得很好。我遇到的另一个错误是src/gtk/Toolbar.d
,以及一个模糊的虚拟函数getOrientation()
。要解决此问题,请进入src/gtk/OrientableIF.d
和/src/gtk/ToolShellIF.d
并注释掉getOrientation方法
使用最新版本的dmd(2.059),glib/DateTime.d
将无法编译。要编译此文件,只需注释掉方法override hash\u t toHash()
编译项目时,请使用
dmd-L\GtkD.lib
构建库:
我建议大家看一看,以下是他们构建库的步骤:
$ dsss build
$ dsss install **--prefix=/usr/local**
别忘了根据需要设置前缀。“/usr/local”
是一个正常的默认值,应该可以在大多数系统上工作,而无需进一步
行动。如果选择的前缀不在您的路径上,请不要忘记
更新您的环境变量。导入文件也将获得
自动安装到所选前缀。注意:根目录访问可能会失败
需要根据您的系统设置完成此步骤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();
}
name = helloworld
[helloworld.d]
target = helloworld
您的dss.conf如下所示:
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();
}
name = helloworld
[helloworld.d]
target = helloworld
并使用正常步骤进行构建和安装:
$ dsss build
$ dsss install
编辑::
我刚刚注意到,您希望直接使用DMD来编译您的项目,您可以使用:
dmd helloworld.d -ofhelloworld -L+gtk.lib
请注意,对于较大的项目,不建议使用这种构建样式,只要可行,您就应该使用DSSS。最新版本似乎并不总是开箱即用,您最好使用trunk HEAD,方法是转到并单击底部的Zip Archive链接,对我有效的版本是 下载(3.04版运行良好)并这样称呼它 构建gtkD.brf 错误 无法检测版本 是由于路径中没有dmd造成的
我尝试了当前最新的gtkD 1.5.1,但后来我遇到了typedef问题,在手动修复后,我遇到了XOverlay问题,经过大量搜索,我发现它们都在SVN中修复了,因此我得到了trunk HEAD,并且它是现成的。I使用gtkD而不生成lib文件,使用rdmd