我正在尝试在64位linux上使用c2hs为pdflib library ( pdflib.com )编写ffi。你可以从他们的网站上免费下载pdflib (全功能eval.)
我尝试编译并运行他们的hello.c演示程序,它工作得很好。
据我所知,我只需要两个文件就可以工作了: pdflib.h和libpdf.a
所以我把它们都放到hello文件夹中,写了一个chs文件,它编译并生成了hs文件。但是当我尝试编译我的Hello.hs程序时,cabal抱怨
Cabal:缺少对外部库的依赖:*缺少C库: pdflib
我尝试通过--extra-include-dirs和--extra-lib-dirs给它指定文件夹名称,但没有帮助。
如何使用pdflib.h和libpdf.a文件编译haskell程序?
发布于 2011-04-07 21:47:27
从评论迁移到答案:
首先:我假设你在你的cabal文件中有类似的"extra-libraries: pdf“?您需要确保名称精确匹配(即与库文件相同,但没有'lib‘前缀)。其次,我使用.a文件的结果好坏参半,这可能是由于我自己的疏忽,但使用.so文件总是成功的。- sclv 19小时前
发布于 2011-04-07 01:26:58
链接器需要能够找到您的.a文件。它将在通常的/usr/lib路径中查找。你能把pdflib安装到常规的系统位置(例如,通过你的包管理器)吗?这将是最简单的路径。
https://stackoverflow.com/questions/5570460
复制相似问题