Как использовать gtkd на Linux
Я пытаюсь скомпилировать программу hello world с использованием библиотеки gtkd.
Я использую компилятор 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();
}
Прагмы закомментированы, потому что (если я правильно понимаю) они не делают ничего, кроме флагов -Ll, и не приблизили меня к решению. В любом случае, после сохранения файла я запускаю:
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, но вывод терминала остался прежним. Я понимаю, что компоновщик не может найти мои файлы, но я не знаю, как еще я могу помочь ему сделать это.
Для получения дополнительной информации о моей установке, я настроил все точно так же, как в этом посте. Не уверен, что это имеет значение, но мой компьютер работает под управлением crunchbang, дистрибутива на основе Debian Wheezy. Заранее спасибо, R
1 ответ
dmd hello.d -L-lgtkd -L-ldl
это попытка найти libgtkd.a
но у тебя нет libgtkd.a
, у тебя есть libgtkd-3.a
поэтому вы должны использовать:
dmd hello.d -L-lgtkd-3 -L-ldl