[英]Building a Python extension with bjam (Boost.Build) on Mac OS X
据我所知,这是怎么回事:
python.jam
,可以计算出我正在使用哪个版本的Python以及要查找的库目录; -Wl-R
参数添加到g++
命令行以包括这些目录; ld
命令抱怨它没有-R
选项。 因此,要么(a)我的ld
版本有缺陷,要么(b)我需要告诉bjam它需要使用其他选项(也许是-rpath
?),或者不需要此选项。
我一定想念一些东西-我肯定不是历史上第一个尝试在Mac OS X上使用Boost构建Python扩展的人-但我不知道下一步该怎么做。 有什么提示吗?
更新:
我正在使用的命令是
bjam
如果我做bjam --version
,我得到
Boost.Build V2 (Milestone 12)
Boost.Jam 03.1.18
使用的工具集是Mac OS X上默认的工具集。
该编译器是Mac OS X上的默认编译器(已安装开发人员工具),它是GCC版本“ i686-apple-darwin10-gcc-4.2.1(GCC)4.2.1(Apple Inc.内部版本5664)”。
链接器是Mac OS X上的默认链接器,称为ld
或ld64
,但不具有GNU ld
具有的-R
选项,因此我认为它是一个特殊版本,旨在支持Mac OS X的框架概念管他呢。 它没有--version
选项。
有一个Jamfile
,它是这样的:
import python ;
python-extension _optimor :
bill_python.cpp
bill_record_python.cpp
.. etc ...
:
<cxxflags>-fPIC
... etc ...
<variant>debug:<define>DEBUG
<include>/usr/include/python2.6
<include>../
;
它可以在Ububtu GNU / Linux上构建OK。
我对Boost或bjam
本身不感兴趣; 我唯一需要编译此扩展的要求是,我可以继续开发该扩展虽然很小但很重要的部分的系统。
我不知道您使用的是哪个版本的Boost。但是最有可能导致该问题的原因是您使用的是通用的“ gcc”工具集。 有一个特殊的工具集可用于Apple在Xcode中使用的GCC变体进行构建。 尝试使用bjam toolset=darwin
构建。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.