LINUX.ORG.RU

GtkD

 , ,


1

1

Всем привет!

Я нуб до этого только писал простые скриптики. Пытаюсь запустить простой проект GtkD который на D-lang. Установил его через sudo yum install gtkd и хочу скомпилировать helloapp

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();
}
и как это все использовать вместе с dub ?

Код ошибки

ldc2 и dmd выдают такое app.d(1): Error: module MainWindow is in file 'gtk/MainWindow.d' which cannot be read import path[0] = /usr/include/dmd/phobos import path[1] = /usr/include/dmd/druntime/import

el_libre ()
Ответ на: комментарий от eternal_sorrow

нету конечно. я еще пытался ➜ dmd -L-lgtkd -L-ldl app.d но тоже не работает.

Я не знаю как указать компилятору где искать gtkd

el_libre ()
Ответ на: комментарий от el_libre

пересобери из исходников

а вообще в dmd под windows это sc.ini

Installing library Open directory where dmd.exe is installed, for example C:\D\windows\bin\

Open sc.ini in your editor

Find DFLAGS key, and add at end of the line:

"-I%@P%\..\..\src" Copy GtkDExtractionDir\src to dmddir\src

Copy GtkD.lib to dmddir\windows\lib

это если у тебя dmd, под linux — аналогично, только пути dmddir/linux/lib

если у тебя gdc или ldc, то пересобирать из исходников, самый прямой способ.

а вообще dmd --help => " -Ipath where to look for imports"

ещё посмотри этот пакет с gtkd, что там и куда устанавливается. и нужно ли добавить этот путь в sc.ini

anonymous ()
Ответ на: комментарий от anonymous

запускается как-то вроде

dmd ./hello.d -odobj -op -I/usr/include/d -c -I/home/eveel/dmd/src/phobos

ExecutorSync.execute= gcc obj/./hello.o -o hello-gtkd -m32 -lphobos -lgtkd -ldl -m32 -lphobos -lpthread -lm

пути поменяй на какие надо для include, lib.

по идее, если ставишь imports (инклуды) в <<свой путь>>, указываешь его в dmddir/linux/bin{32,64}/dmd.conf (это вместо sc.ini в dmddir/windows/bin/), построенный libgtkd*.a ложишь в дефолтный dmddir/linux/lib{32,64}, указываешь -I<<свой путь>> в dmd.conf, -- всё должно просто работать.

в общем, см. настройки в dmd.conf или просто установи gtkd через dub. про dub читай на оффсайте чтобы настроить свой проект, или см. dub help.

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.