2

我已经使用 cabal安装了 GD 包( http://hackage.haskell.org/package/gd-3000.4.0 )。当我尝试编译使用 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
4

2 回答 2

2

GD 包提供与用 C 编写的 GD 库的绑定。您需要将 C 库链接到您的程序。首先尝试--makeGHC 的选项:

 ghc --make gd.hs

GHC--make应该自动计算依赖关系并正确链接多模块程序。您也可以考虑手动使用-l和选项。-L

于 2010-05-05T09:47:50.547 回答
0

像这样的消息可能表明文件确实需要重新编译。试试 ghc -fforce-recomp

于 2010-04-28T19:32:31.073 回答