2

我正在尝试使用非本机架构构建 C 库。我正在运行 OSX 10.6(即 x86_64),但我需要为 i386 编译的库。通常,您只需添加编译器标志:-arch i386。但是我正在使用 Autoconf,它会在配置文件中忽略它,如果我尝试运行它也会忽略它:./configure CC="gcc -arch i386"。

我知道它构建 x86_64 目标文件,因为我已经使用 otool 查看了标题。真正的问题是,当 autoconf 写出配置摘要时,它会在 cc 标志中列出 -arch i386。这里发生了什么??

眼镜:

OSX 10.6.2

GCC 4.2.1

自动配置 2.64

制作 3.81

4

2 回答 2

1

假设“CFLAGS='-arch i386' 是你所说的“通常,你可以添加编译器标志”时的意思,我最好的猜测是代码的维护者在 configure.ac 中做错了什么并被覆盖CFLAGS。检查configure.ac(或configure.in,如果项目是旧的),看看他们是否明确分配给CC或CFLAGS。还要检查Makefile.am的分配。可能是有问题。你什么已经完成应该工作。

于 2010-02-19T16:35:15.530 回答
0

你想在 CFLAGS 环境变量中设置它,autoconf 应该将它附加到它决定 CFLAGS 应该是什么。如果你输入 ./configure --help,你应该得到一个所有有影响的环境变量的列表。

于 2010-02-19T15:03:16.610 回答