Вопрос

Я установил пакет GD (http://hackage.haskell.org/package/gd-3000.4.0) Используя Cabal. Когда я пытаюсь компилировать программу, которая использует GD, я получаю ошибку:

[mp262554@students:~/jpp/haskell]$ ghc gd.hs
compilation IS NOT required
gd.o: In function `sV8_info':
(.text+0x1bf): undefined reference to `gdzm3000zi4zi0_GraphicsziGD_saveJpegFile_closure'
gd.o: In function `sUY_info':
(.text+0x3be): undefined reference to `gdzm3000zi4zi0_GraphicsziGD_drawLine_closure'
gd.o: In function `sUI_info':
(.text+0x51a): undefined reference to `gdzm3000zi4zi0_GraphicsziGD_newImage_closure'
gd.o: In function `sUI_info':
(.text+0x6a5): undefined reference to `__stginit_gdzm3000zi4zi0_GraphicsziGD_'
gd.o: In function `sVc_srt':
(.data+0x34): undefined reference to `gdzm3000zi4zi0_GraphicsziGD_drawLine_closure'
gd.o: In function `sVc_srt':
(.data+0x38): undefined reference to `gdzm3000zi4zi0_GraphicsziGD_saveJpegFile_closure'
gd.o: In function `sUI_srt':
(.data+0x4c): undefined reference to `gdzm3000zi4zi0_GraphicsziGD_newImage_closure'
collect2: ld returned 1 exit status
Это было полезно?

Решение

Пакет GD предоставляет привязки к библиотеке GD, написанную в C. Вам необходимо связать библиотеку C в вашей программе. Пытаться --make Опция GHC первым:

 ghc --make gd.hs

ГХ --make Должен ли правильно использовать зависимости и связать программу многомодуля. Вы также можете рассмотреть вопрос -l а также -L варианты вручную.

Другие советы

Такие сообщения могут указывать на то, что файлы на самом деле нужно перекомпилировать. Попробуйте GHC -FORCORCE-RECOMP

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top