GtkD с языком D в Fedora

Я использую Fedora20 и устанавливаю gtkd через sudo yum install gtkd

Как скомпилировать gtk этот код?

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

но я получаю эту ошибку

➜ /tmp dmd -L-lgtkd -L-ldl main.d main.d(1): Ошибка: модуль MainWindow находится в файле 'gtk/MainWindow.d', который невозможно прочитать путь импорта [0] = /usr/include /dmd/phobos путь импорта[1] = /usr/include/dmd/druntime/import

Пожалуйста помогите.


person Singularity    schedule 08.05.2014    source источник
comment
Ваш путь импорта не включает папку, в которой находится gtkd. Я не знаю, куда его помещает пакет, но если вы можете найти это, добавьте -I/whatever/that/is в командную строку компиляции (это должна быть папка gtkd, содержащая папку gtk), и что-то должно измениться.   -  person Adam D. Ruppe    schedule 08.05.2014


Ответы (1)


Если вы используете пакет gtkd-devel, предоставленный Fedora, вы должны знать, что он связан с библиотекой libphobos-ldc, которую вы получите после установки пакета ldc2 (подойдет yum install ldc2).

Это еще не решает вашу проблему... Пакет gtkd-devel устанавливает интерфейсные модули gtkd D в папку /usr/include/d/gtkd-2. Итак, чтобы скомпилировать приложение GtkD, вам нужно выполнить что-то вроде (при условии, что ваш файл D имеет имя «firstwin.d»): ldc2 -I/usr/include/d/gtkd-2 -L-lgtkd-2 firstwin.d

person DejanLekic    schedule 08.05.2014