使用带有 python 绑定的 boost 在 osx 上构建 32 位版本的 libtorrent

Posted

技术标签:

【中文标题】使用带有 python 绑定的 boost 在 osx 上构建 32 位版本的 libtorrent【英文标题】:Building 32bit version of libtorrent on osx using boost with python bindings 【发布时间】:2013-08-24 12:26:17 【问题描述】:

我正在从 libtorrent 的 /bindings/python 目录运行以下构建命令

./bjam boost=system link=static address-model=32 toolset=darwin architecture=x86 release

但我收到以下错误

/opt/local/include/boost/python/detail/wrap_python.hpp:50:23: error: pyconfig.h: No such file or directory
/opt/local/include/boost/python/detail/wrap_python.hpp:75:24: error: patchlevel.h: No such file or directory
/opt/local/include/boost/python/detail/wrap_python.hpp:78:2: error: #error Python 2.2 or higher is required for this version of Boost.Python.
/opt/local/include/boost/python/detail/wrap_python.hpp:142:21: error: Python.h: No such file or directory

最终导致

...failed darwin.compile.c++ bin/darwin-4.2.1/release/address-model-32/architecture-x86/link-static/src/module.o..

谁能指出我哪里搞砸了?

【问题讨论】:

这些错误表明 bjam 无法找到 python 头文件。验证是否安装了 python 头文件(通常分布在 python-devel 包中)。 【参考方案1】:

愚蠢的问题:你安装了 python 吗?如果您确实安装了它,但不是在标准位置,您必须告诉 bjam 在哪里可以找到它。

哦,boost 是用 python 支持构建的吗?

【讨论】:

嘿,你的想法为我指明了这个方向,现在全部都在建设中:) geero.net/2011/03/install_pythonmagick_mac_os_x 现在得到这些错误 darwin.link.dll ../../bin/darwin-4.2.1/release/address-model-32/architecture-x86/boost-link-shared/threading -multi/libtorrent.dylib.0.16.11 ld:警告:找不到选项“-L/sw/lib”的目录 ld:警告:找不到选项“-L/usr/g++/lib”的目录 ld:未知选项: -Bsymbolic collect2: ld 返回 1 退出状态有什么想法吗?

以上是关于使用带有 python 绑定的 boost 在 osx 上构建 32 位版本的 libtorrent的主要内容,如果未能解决你的问题,请参考以下文章

Boost::Python 为具有继承的类绑定

C ++在boost python中使用带有命名空间的自定义智能指针

Boost Python 和 OGRE - 具有相同代码的不同结果

boost::asio::deadline_timer 绑定到多态套接字类指针

提升类的 Python 绑定向量

如何将具有参数的类成员函数作为右值绑定到 boost::function? [关闭]