построить расширение python с помощью boost build

Я пытаюсь использовать boost.python и создать расширение python из С++.

В моем файле cpp используется функция с именем «BZ2_bzopen», которая находится в библиотеке «libbz2» по стандартному пути (/usr/lib/). Однако, когда я пытаюсь собрать расширение, используя ускоренную сборку, следуя инструкции, я получил сообщение об ошибке:

====== BEGIN OUTPUT ======
Traceback (most recent call last):
  File "CrossTrade.py", line 11, in <module>
    from custom_c import GoThroughFile
ImportError: /home/jliu/toolpak/custom_c.so: undefined symbol: BZ2_bzopen

EXIT STATUS: 1
====== END OUTPUT ======

Мне кажется, что ошибка возникает из-за отсутствия ссылки на библиотеку, что почти так же, как если бы я скомпилировал файл cpp без команды «-lbz2».

Кто-нибудь может предложить некоторую помощь в ее решении, пожалуйста?


person Jun    schedule 28.10.2012    source источник
comment
Как вы импортируете библиотеку в свой файл cpp?   -  person John Lyon    schedule 29.10.2012
comment
@jozzas #include ‹bzlib.h› заголовочный файл находится в каталоге /usr/include/   -  person Jun    schedule 29.10.2012
comment
Как вы связались с библиотекой libbz2?   -  person H. Brandsmeier    schedule 07.11.2012


Ответы (1)


Может вы не на libbz2 ссылку дали? В этом случае следуйте инструкциям в http://www.boost.org/doc/libs/1_46_1/doc/html/bbv2/tutorial.html#bbv2.tutorial.prebuilt, чтобы узнать, как связываться с библиотеками.

person H. Brandsmeier    schedule 07.11.2012