Ошибка сборки с помощью привязки Haskell GD
Вопрос
Я установил пакет 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
Не связан с StackOverflow