我有个问题与在OS X 10.6.2 python-config --ldflags

使用我的非系统python.org蟒安装:

robin-mbp:~ robince$ which python
/Library/Frameworks/Python.framework/Versions/2.5/bin/python
robin-mbp:~ robince$ python-config --ldflags
-L/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/config -ldl -lpython2.5

但是,如果我建立一个C程序Python嵌入与上述LDFLAGS,它导致系统蟒被嵌入。这似乎-lpython2.5首先拾取所述系统蟒,一种在-L路径之前。

到目前为止,我得到它的工作的唯一方法是使用

LDFLAGS=-F/ -framework Python

但是,当涉及到分配我真的希望能够使用Python-配置。

这是怎么回事与停止它的工作如预期的库搜索路径?根据该男子页-L路径应的默认路径之前被搜索。

有没有一起的“忘了默认的搜索路径和搜索只-L指定的路径”,我可以添加到蟒蛇-config输出中得到它的工作?

该行的任何选项

或者有没有什么办法来提取工作-framework标志从哪个Python是在路径上(将工作对于任何用户使用,即系统,python.org,MacPorts的或自己建)?

有帮助吗?

解决方案

对不起,回答我的问题,但我得到了pythonmac-SIG的邮件列表,我也问上一个令人惊讶的及时答复。它与当前的Python一个错误: http://bugs.python.org/issue7541

建议的解决方法:

  

,最简单的解决方法是打开   终端窗口,并执行   下面的命令:

     

CD   /Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/config   LN -s libpython2.5.a   libpython2.5.dylib

     

这将确保OSX接头   知道libpython是一个共享   库并链接到这个库。通过   默认的OSX的链接搜索   .dylib在整个连接路径上和   仅然后查找.a文件。

编辑:进一步更新:

  

如果你可以添加特定MAC-旗   构建系统,你可以添加   -Wl,-search_paths_first到LDFLAGS   在OSX上,这确保了连接器   查找这两个名为.dylib和.a文件   链接路径上的目录之前   移动到下一个目录。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top