如何在 linux 上使用 gtkd

How to use gtkd on linux

我正在尝试使用 gtkd 库编译一个 hello world 程序。
我正在使用 dmd 编译器(安装在我的 ~/ 目录中)并且我已经检查过编译器是否完美运行。
以防万一,这是我的源代码:

//pragma(lib, "gtkd");
//pragma(lib, "dl");

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();
}

pragma 被注释掉了,因为(如果我理解正确的话)它们除了 -L-l 标志外什么都不做,也没有让我更接近解决方案。 无论如何,在我保存文件后,我 运行:

dmd hello.d -L-lgtkd -L-ldl

并得到以下错误:

/usr/bin/ld: cannot find -lgtkd
collect2: error: ld returned 1 exit status
--- errorlevel 1

我已经将 libgtkd-3.a、libgtkdgl-3.a 和 libgtkdsv-3.a 复制到 /usr/lib,但终端的输出保持不变。 我知道链接器找不到我的文件,但我不知道我还能怎么帮他找到。

有关我的安装的更多信息,我已完全按照 this post 中的方式设置了所有内容。 不确定这是否重要,但我的电脑是 运行ning c运行chbang,一个基于 debian wheezy 的发行版。 提前致谢, R

dmd hello.d -L-lgtkd -L-ldl

这尝试找到 libgtkd.a 但你没有 libgtkd.a,你有 libgtkd-3.a 所以你必须使用:

dmd hello.d -L-lgtkd-3 -L-ldl