0

我正在尝试使用 boost.python 并从 c++ 构建一个 python 扩展。

我的 cpp 文件使用了一个名为 'BZ2_bzopen' 的函数,它位于标准路径 (/usr/lib/) 下的库 'libbz2' 中。但是,当我尝试按照说明使用 boost build 构建扩展时,我收到一条错误消息:

====== 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 ======

在我看来,这似乎是由于未链接到库而导致的错误,这与我在不使用“-lbz2”命令的情况下编译 cpp 文件几乎相同。

任何人都可以提供一些解决它的帮助,好吗?

4

1 回答 1

0

也许你没有链接到libbz2?在这种情况下,请按照http://www.boost.org/doc/libs/1_46_1/doc/html/bbv2/tutorial.html#bbv2.tutorial.prebuilt中的说明查看如何链接到库。

于 2012-11-07T15:28:37.230 回答