gcc - 如何在 64 位 RHEL 上编译 32 位应用程序?

标签 gcc x86 32-bit rhel7

我正在尝试使用 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 位应用程序?

最佳答案

要让 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
    
  • 关于gcc - 如何在 64 位 RHEL 上编译 32 位应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23638271/

    相关文章:

    gcc - 如何读取gcc -v的输出

    c++ - 为模板参数提供默认参数时,VS 2017 无法正确找到以前定义的类型

    c++ - 调用 always_inline '__m256d _mm256_broadcast_sd(const double*)' 时内联失败

    linux - Raspberry Pi3 的 G-WAN?

    c - 是否可以在具有 32 位处理器的机器上运行 64 位代码?

    c - 即使 GCC 优化关闭,是否也有必要使用 "volatile"限定符?

    c++ - 在 sparc solaris 上使用 gcc 为长整数赋值

    assembly - 每个 AT&T 语法操作数访问内存或寄存器中的什么值?

    assembly - MOV AL, ' * ' 指令使用什么寻址模式

    c - 我的代码的输出如何是842?