c - Autoconf 忽略编译器标志

标签 c compiler-construction autoconf i386

我正在尝试构建一个具有非本地架构的 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/

相关文章:

java - Java 编译器是否针对不同的语言环境进行了翻译?

autotools - 如何在 autotools 项目中进行条件编译?

编译器 C 去 Brainfuck(骚扰教授)?

c - 如何在 C 中打印一个无符号字符?

c - 如何在结构初始化中使用#define

C-将txt中的单词写入数组

c - 为什么 GCC 会根据常量的值生成不同的乘法操作码?

delphi - Delphi命令行编译器

autoconf - Automake 和同名文件

haskell - 如何在 ./configure 中检查 haskell 包版本?