У меня есть библиотека pdflib_py.so, которую я хочу вызвать из haskell. У меня нет заголовочного файла. И, как вы можете видеть, имя библиотеки не в стандартной форме libbla.
Как мне получить к нему доступ из haskell?
Я следовал учебнику c2hs. Но для этого требуется заголовочный файл (которого у меня нет), а ghc требует, чтобы имя библиотеки было в формате libbla. Я мог бы, конечно, переименовать pdflib_py.so в libpdfpy.so, на самом деле я пробовал (это не сработало), но глупо предполагать, что вы не можете получить доступ к библиотеке из haskell из-за ее имени. Я определенно что-то здесь упускаю.
Вы можете загрузить библиотеку pdflib отсюда http://www.pdflib.com/download/pdflib-family/pdflib-8/
У них есть пакеты для c++, java, php, python и т. д.
Почему я использую не библиотеку С++, а библиотеку Python? Что ж, библиотека C++ libbpdf.a требует компиляции с помощью g++. И haskell не работает с g++, мне пришлось бы сначала написать оболочку C. К счастью, кто-то уже сделал это за меня. Вот что такое pdflib_py.so - оболочка c над библиотекой libpdf.
Итак, как мне использовать библиотеку с нестандартным именем и без заголовочного файла от haskell?