- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 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 或自己构建的)?
最佳答案
很抱歉回答我自己的问题,但我在 pythonmac-sig 邮件列表上得到了惊人的迅速回复,我也在那里提问。这是当前 python 的错误:http://bugs.python.org/issue7541
建议的解决方法:
The easiest workaround is to open a terminal window and execute the following commands:
cd /Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/config ln -s libpython2.5.a libpython2.5.dylib
This will ensure that the OSX linker knows that libpython is a shared library and links to this library. By default the OSX linker searches for a .dylib on the entire linker path and only then looks for .a files.
编辑:进一步更新:
If you can add mac-specific flags in your build system you could add
-Wl,-search_paths_first
to LDFLAGS on OSX, this ensures that the linker looks for both .dylib and .a files in a directory on the link path before moving to the next directory.
关于mac 上的 python-config ldflags,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1929180/
我创建了一个食谱,总结如下: do_install() { install -d ${D}/GreenTea cp ${S}/foo.sh ${D}/GreenTea cp ${S}/fo
我有一个项目的下一个结构: cruceGame/ src/ libCruceGame/... cruceGameCurses/... multi
我正在尝试使用 go build 来更新我项目中的一个变量: 完整项目路径: c:\goprojects\src\deployment\cl\apps\appName 从 c:\goprojects\
我有一个无法正确链接的 C 项目,我怀疑这是因为 gcc 传递给 ld 程序的 --as-needed 标志。由于该标志,gcc 将在 *.c 文件之前列为选项的任何链接库视为不必要的,并且不会链接它
我正在尝试建立一个名为 PBC 的库(基于配对的密码学)。而这个库需要另一个名为 GMP 的库。 -(GNU 多精度库)。 我的问题是正确安装GMP后,PBC给出了一个错误: gmp library
我正在使用以下标志编译程序并出现错误(运行 64 位操作系统): g++ -lm -lml -lcvaux -lhighgui -lcv -lcxcore main.o BRIEF.o -o BRIE
我在 OS X 10.6.2 上遇到 python-config --ldflags 问题。 使用我的非系统 python.org python 安装: robin-mbp:~ robince$ wh
我想在程序启动时打印构建时间,例如: package main import "fmt" var BuildTime string func main() { fmt.Println(Buil
一个快速的问题。我在示例 Makefile 中找到了“DLDFLAGS”和“LDFLAGS”。使用的编译器是gcc。看起来它们都用于链接器。我想知道它们之间有什么区别。 最佳答案 LDFLAGS通常设
我想在一个存储库中有多个二进制文件,但也想通过 ldflags 设置版本选项。 在存储库中只有一个二进制文件我没有问题,它可以工作,但是对于多个二进制文件的新结构似乎不起作用。 我在 github 上
根据操作系统的不同,我在configure.ac中定义了一个特殊的LDFLAGS: AC_CANONICAL_HOST if test "$host_os" = cygwin then LDF
我是 Linux 操作系统新手。我正在尝试使用 makefile 编译 .c 文件。必须链接数学库。我的 makefile 如下所示: CC=gcc CFLAGS=-Wall -lm all:clie
在 Makefile 中将库与 LDFLAGS 链接时,如何知道库的名称? 例如: libxml2.dylib 与 -lxml2 链接 libz.dylib 实际上命名为 zlib 与 -lz 链接
我有一个使用 GCC 和 MinGW 为 Ubuntu 和 Windows 编译的 Qt 项目。 I got a requirement to harden it by adding the foll
我已经阅读了一些安装,我需要正确设置环境变量LDFLAGS、LD_LIBRARY_PATHS和CXXFLAGS才能运行./compile.sh。但是,我不确定在那里提供什么路径。有人可以解释一下这些标
我想知道 AM_LDFLAGS 和 LDFLAGS 之间的区别,因为我遇到了错误 error: AM_LDFLAGS must be set with '=' before using '+=' 当我
如果我有两个具有相同库名称但存储在不同目录中的库(并且它们可能包含不同的代码)并且我在 makefile 的 LDFLAGS 变量中列出了这两个目录,链接器如何知道先看哪里以及先看哪个要使用的库?
我有一个这样的围棋程序: package main import "fmt" var version string func main() { fmt.Printf("Version %s\n
我正在 Windows 上使用 MSys 和 Mingw 构建一个 dll。项目的源码只提供了autogen.sh、configure.ac和makefile.am。要生成 makefile,运行 a
如何在 qt .pro 字段中添加 LDFLAGS? 考虑库文件夹和共享库(.so)位于 dir_path 文件夹中。 例如,添加这一行并不能解决问题 LIBS+= -Ldir_path -llibr
我是一名优秀的程序员,十分优秀!