【发布时间】:2009-12-18 16:15:48
【问题描述】:
我在 OS X 10.6.2 上遇到python-config --ldflags 的问题。
使用我的非系统 python.org python 安装:
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
但是如果我用上面的 LDFLAGS 构建一个嵌入 Python 的 c 程序,它会导致系统 python 被嵌入。似乎 -lpython2.5 在 -L 路径中的那个之前首先选择了系统 python。
到目前为止,我让它工作的唯一方法是使用
LDFLAGS=-F/ -framework Python
但是在分发方面,我真的很希望能够使用 python-config。
导致库搜索路径无法按预期工作的原因是什么?根据手册页 -L 路径应该在默认路径之前搜索。
是否有任何类似于“忘记默认搜索路径并仅搜索使用 -L 指定的路径”的选项,我可以将其添加到 python-config 输出中以使其正常工作?
或者有什么方法可以从路径上的任何 Python 中提取工作框架标志(这适用于用户正在使用的任何内容,即系统、python.org、macports 或自己构建的)?
【问题讨论】: