我正在尝试构建一个具有非本地架构的 C 库。我正在运行 OSX 10.6(即 x86_64),但我需要为 i386 编译的库。通常,您只需添加编译器标志:-arch i386。但是我正在使用 Autoconf,它在配置文件中忽略了这一点,如果我尝试运行它也会忽略它:./configure CC="gcc -arch i386"。
我知道它正在构建 x86_64 目标文件,因为我使用 otool 查看了 header 。真正的问题是,当 autoconf 写出配置摘要时,它在 cc 标志中列出了 -arch i386。这是怎么回事??
规范:
操作系统 10.6.2
海湾合作委员会 4.2.1
自动配置 2.64
制作 3.81
最佳答案
假设“CFLAGS='-arch i386' 是您所说的“通常情况下,您只需添加编译器标志”时的意思,我最好的猜测是代码的维护者在配置中做错了什么。 ac 和覆盖的 CFLAGS。检查 configure.ac(或 configure.in,如果项目是旧的)并查看它们是否已明确分配给 CC 或 CFLAGS。还要检查 Makefile.am 的分配。机会是错误的。您所做的应该有效。
关于c - Autoconf 忽略编译器标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2294414/