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