如何在 64 位 RHEL 上编译 32 位应用程序?
Posted
技术标签:
【中文标题】如何在 64 位 RHEL 上编译 32 位应用程序?【英文标题】:How to Compile 32-bit Apps on 64-bit RHEL? 【发布时间】:2014-07-01 12:59:50 【问题描述】:我正在尝试使用 gcc 4.8 在 RHEL 7 64 位上编译一个 32 位 C 应用程序。我收到编译器错误/usr/include/gnu/stubs.h:7:27: error: gnu/stubs-32.h: No such file or directory
。我需要做什么才能编译和链接 32 位应用程序?
【问题讨论】:
【参考方案1】:要让 RHEL 7 64 位编译 gcc 4.8 32 位程序,您需要做两件事。
确保所有 32 位 gcc 4.8 开发工具都已完全安装:
sudo yum install glibc-devel.i686 libgcc.i686 libstdc++-devel.i686 ncurses-devel.i686
使用 -m32 标志编译程序
gcc pgm.c -m32 -o pgm
【讨论】:
您可能还想将此答案标记为问题的解决方案。以上是关于如何在 64 位 RHEL 上编译 32 位应用程序?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Windows 上编译 64 位版本的 ffmpeg?
在运行 64 位 linux 的 Armv8 (aarch64) 上编译并运行 32 位二进制文件
在 64 位机器上编译 32 位:/usr/bin/ld: 找不到 -l<someLibs>