首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用automake配置脚本在64位Linux上构建32位?

使用automake配置脚本在64位Linux上构建32位?
EN

Stack Overflow用户
提问于 2010-07-16 12:22:47
回答 5查看 71.9K关注 0票数 57

我使用的是64位系统,但我想要一组32位的二进制文件。要生成32位/x86生成文件,必须将哪些选项传递给配置脚本?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-07-25 12:46:31

通过将以下参数传递给configure脚本,我可以在64位Linux上构建32位库

代码语言:javascript
复制
./configure --build=i686-pc-linux-gnu CFLAGS=-m32 CXXFLAGS=-m32 LDFLAGS=-m32
票数 73
EN

Stack Overflow用户

发布于 2013-07-19 22:03:24

杰克的回答是不完整的。

32位编译需要编译器/libc支持。在像Ubuntu这样的发行版中,你需要做的就是安装软件包gcc-multilib和/或g++-multilib

代码语言:javascript
复制
sudo apt-get install gcc-multilib g++-multilib

然后你可以像你说的那样调用configure,指定一个32位主机并传递32位编译标志:

代码语言:javascript
复制
./configure --host=i686-linux-gnu "CFLAGS=-m32" "CXXFLAGS=-m32" "LDFLAGS=-m32"

如果你没有安装multilib,你会得到这样的错误configure: error: C compiler cannot create executables

在传递-m32旗帜。

票数 52
EN

Stack Overflow用户

发布于 2015-02-21 06:52:06

我有更好的成功,而不是设置一个自定义的编译器。这样,所有的配置测试,即使是使用自定义CFLAGS的测试,都可以正常工作:

代码语言:javascript
复制
./configure CC="gcc -m32" CXX="g++ -m32"

当然,您仍然需要应用程序使用的所有库的32位版本,所以任何关于缺失库的错误都是指32位库。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3261909

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档