【问题标题】:How to use gtkd on linux如何在 Linux 上使用 gtkd
【发布时间】:2015-03-18 11:21:04
【问题描述】:

我正在尝试使用 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();
}

编译指示被注释掉了,因为(如果我理解正确的话)它们只做 -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 的发行版。 提前致谢, 回复

【问题讨论】:

  • 不要将问题标题更改为已解决。而是从下面提供的正确答案中选择正确答案,或提交您自己的答案!谢谢你,欢迎来到 SO!

标签: linux d gtkd


【解决方案1】:
dmd hello.d -L-lgtkd -L-ldl

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

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

【讨论】:

  • 天哪,你是救生员,非常感谢。我想这就是当你只知道事情如何运作的一半真相时会发生的事情。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多