linux - 如何在 Linux 上使用 gtkd

标签 linux d gtkd

我正在尝试使用 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 中的所有内容进行了设置. 不确定这是否重要,但我的电脑正在运行 crunchbang,一个基于 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

关于linux - 如何在 Linux 上使用 gtkd,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29120679/

相关文章:

linux - Linux Shell 脚本的奇怪行为

c - 如何将 int/char 传递给 system() 一个 Linux 系统调用

python - 在 Linux 中创建独立于系统的最小 Python 足迹

d - 重写 D 中的 'package' 成员函数

windows-7 - 如何在Win7和dmd(D2)中使用gtkD?

user-interface - gtkD:最小绘图示例?

linux - scp:如何发现复制完成

d - 元素的就地排序

gdb - 通过GDB调试DMD生成程序

gtk - 在 D 中,如何传递一个空字符串? (对 gtkD)