Я пытаюсь использовать boost.python и построить расширение Python из C ++.
Мой файл 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’.
Кто-нибудь может предложить некоторую помощь по ее решению, пожалуйста?
Может быть, вы не ссылались на libbz2
? В этом случае следуйте инструкциям в http://www.boost.org/doc/libs/1_46_1/doc/html/bbv2/tutorial.html#bbv2.tutorial.prebuilt чтобы увидеть, как сделать ссылку на библиотеки.
Других решений пока нет …