GtkD неопределенная ссылка

Мой код:

import gtk.MainWindow;
import gtk.Main;

void main(string[] args)
{
    Main.init(args);
    auto win=new MainWindow("Hello World");
    win.setDefaultSize(200,100);
    win.showAll();
    Main.run();
}

Когда я пытаюсь скомпилировать с DMD (или GDC), я получаю ошибки:

dmd ./test.d -L-L/usr/local/include/d/gtkd-2/lib
test.o:(.data+0x10): undefined reference to `_D3gtk10MainWindow12__ModuleInfoZ'
test.o:(.data+0x18): undefined reference to `_D3gtk4Main12__ModuleInfoZ'
test.o: In function `_Dmain':
./test.d:(.text._Dmain+0x15): undefined reference to `_D3gtk4Main4Main4initFKAAyaZv'
./test.d:(.text._Dmain+0x1b): undefined reference to `_D3gtk10MainWindow10MainWindow7__ClassZ'
./test.d:(.text._Dmain+0x3a): undefined reference to `_D3gtk10MainWindow10MainWindow6__ctorMFAyaZC3gtk10MainWindow10MainWindow'
./test.d:(.text._Dmain+0x68): undefined reference to `_D3gtk4Main4Main3runFZv'
test.o:(.data._D67TypeInfo_S3std8typecons35__T6scopedTC5cairo7Context7ContextZ6Scoped6__initZ+0x58): undefined reference to `_D3std8typecons35__T6scopedTC5cairo7Context7ContextZ6Scoped6__dtorMFZv'
collect2: error: ld returned 1 exit status
--- errorlevel 1

Последние два дня я потратил на то, чтобы скомпилировать это простое приложение hello world, и просмотрел несколько веб-сайтов, включая этот. Я попробовал уловки связывания, которые предложили другие, но безуспешно. У меня установлены GtkD и gtk+ (я использовал gtk с C, так что я знаю, что часть работает правильно) Кажется, не имеет значения, использую ли я dmd или gdc (в настоящее время использую dmd, так как я нашел больше онлайн-решений для этого компилятора),

Я также должен сказать, что обычный код без графического интерфейса D компилируется нормально. Это происходит, когда я пытаюсь использовать GtkD.

1 ответ

Я нашел ответ. Это:

gdc./test.d -стена pkg-config --cflags --libs gtkd-2 -I/usr/include/d/gtkd-2 -L/usr/local/lib -lpq

Другие вопросы по тегам