我正在尝试使用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标志,也没有让我更接近解决方案。无论如何,保存文件后,我运行:
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喘息的发行版。提前谢谢,R
发布于 2015-03-18 15:36:28
dmd hello.d -L-lgtkd -L-ldl这试图找到libgtkd.a,但是您没有libgtkd.a,您有libgtkd-3.a,所以您必须使用:
dmd hello.d -L-lgtkd-3 -L-ldlhttps://stackoverflow.com/questions/29120679
复制相似问题