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 ライブラリをプログラムにリンクする必要があります。--make最初に GHC のオプションを試してください:

 ghc --make gd.hs

GHC は--make依存関係を自動的に把握し、マルチモジュール プログラムを正しくリンクする必要があります。-lおよび-Lオプションを手動で使用することも検討できます。

于 2010-05-05T09:47:50.547 に答える
0

このようなメッセージは、ファイルを実際に再コンパイルする必要があることを示している可能性があります。ghc -fforce-recomp を試してください

于 2010-04-28T19:32:31.073 に答える