Autoconf 忽略编译器标志

发布于 2024-08-21 23:28:53 字数 370 浏览 7 评论 0原文

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

autoconf 2.64

make 3.81

I'm trying to build a C library with a non-native architecture. I'm running OSX 10.6 (which is x86_64) but I need the library compiled for i386. Normally, you can just add the compiler flag: -arch i386. But I'm using Autoconf and it ignores this in the configure file and it also ignores it if I try running: ./configure CC="gcc -arch i386".

I know its building x86_64 object files because I've looked at the header using otool. The real kicker is that when autoconf writes out the configuration summary, it lists -arch i386 in the cc flags. What's going on here??

specs:

OSX 10.6.2

gcc 4.2.1

autoconf 2.64

make 3.81

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

贪恋 2024-08-28 23:28:53

假设“CFLAGS='-arch i386'”就是您所说的“通常,您只需添加编译器标志”时的意思,我最好的猜测是代码的维护者在configure.ac中做了一些错误的事情并被覆盖CFLAGS。检查configure.ac(或configure.in,如果项目是旧的)并查看它们是否已明确分配给CC 或CFLAGS。也可能是您的分配有问题。已经完成了应该有效。

Assuming that "CFLAGS='-arch i386' is what you meant when you said "normally, you can just add the compiler flag", my best guess is that the maintainer of the code has done something wrong in the configure.ac and overwritten CFLAGS. Check through the configure.ac (or configure.in if the project is old) and see if they've explicitly assigned to CC or CFLAGS. Also check the Makefile.am for assignments. Chances are something is wrong. What you've done should work.

傲影 2024-08-28 23:28:53

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

You want to set it in the CFLAGS environmental variable, autoconf should append it to whatever it decides CFLAGS should be. If you type ./configure --help, you should get a list of all influential environmental variables.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文