64位linux 编译c提示gnu/stubs-32.h:No such file or directory的解决方法

yizhihongxing

遇到编译C程序时提示“gnu/stubs-32.h: No such file or directory”错误是因为缺少32位的库文件,而现在大多数64位的Linux系统都不自带32位的库文件,需要手动安装。下面是完整的解决方法攻略:

问题描述

编译C程序时提示“gnu/stubs-32.h: No such file or directory”错误。

解决方法

方法一:安装gcc-multilib多架构支持

sudo apt-get install gcc-multilib

在Ubuntu、Debian等Linux系统上,可以通过安装gcc-multilib多架构支持来解决此问题。如果你使用的是其他发行版,也可以尝试通过对应的包管理工具进行安装。

方法二:手动安装32位库文件

如果使用方法一仍无法解决问题,那么可以尝试手动安装32位库文件。以下是在Ubuntu 20.04上的操作示例:

  1. 安装GCC的多架构版本

shell
sudo apt-get install gcc-multilib

  1. 安装32位库文件

shell
sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386

这里安装了libc6:i386、libncurses5:i386和libstdc++6:i386三个32位库文件。

  1. 添加32位目录到动态链接库搜索路径中

shell
sudo nano /etc/ld.so.conf.d/multiarch.conf

在文件中输入以下内容并保存:

/usr/local/lib32
/lib32
/usr/lib32
/usr/lib/i386-linux-gnu

这里添加了/usr/lib/i386-linux-gnu作为新的32位目录。

  1. 运行ldconfig更新动态链接库

shell
sudo ldconfig

至此,解决“gnu/stubs-32.h: No such file or directory”错误的方法已经介绍完毕。

注意:如果你的系统是CentOS等其他Linux发行版,以上步骤可能会不一样。具体操作建议参考对应系统的官方文档,或通过其他方式安装32位库文件。

结论

在编译C程序时出现“gnu/stubs-32.h: No such file or directory”错误,可能是因为缺少32位的库文件。通过安装gcc-multilib或手动安装32位库文件并添加动态链接库搜索路径,可以解决此问题。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:64位linux 编译c提示gnu/stubs-32.h:No such file or directory的解决方法 - Python技术站

(0)
上一篇 2023年5月14日
下一篇 2023年5月14日

相关文章

  • yum安装(卸载)本地rpm包的方法

    下面是关于“yum安装和卸载本地rpm包”的完整攻略。 1. yum安装本地rpm包的方法 yum可以通过本地rpm包进行安装软件。具体步骤如下。 步骤1:上传本地rpm包到服务器 使用scp命令或者其他方式将本地rpm包上传到服务器上。例如我们上传一个名为software-1.0.0-1.x86_64.rpm 的rpm包到服务器的/tmp目录下。 scp …

    Linux 2023年5月14日
    00
  • Linux 下的tmpfs文件系统(/dev/shm)

    介绍    /dev/shm/是一个使用就是tmpfs文件系统的设备,其实就是一个特殊的文件系统。redhat中默认大小为物理内存的一半,使用时不用mkfs格式化。    tmpfs是Linux/Unix系统上的一种基于内存的虚拟文件系统。tmpfs可以使用您的内存或swap分区来存储文件(即它的存储空间在virtual memory 中, VM由real …

    Linux 2023年4月11日
    00
  • Linux命令之—which简单介绍

    命令简介 which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。  命令格式 which 可执行文件名称  命令功能 which指令会在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。 命令参…

    Linux 2023年4月13日
    00
  • linux系统内存爆满的解决办法!~

    1.首先用free工具检查一下内存的使用情况:   这个是我的linux时时数据 Mem: 4046824 763620 3283204 9004 10284 61560  -/+buffers/cache: 691776 3355048         total used free shared buffers cached       可以看到 要达到…

    Linux 2023年4月12日
    00
  • 在Linux系统上安装PostgreSQL数据库

    安装PostgreSQL数据库需要以下几个步骤: 步骤一:下载PostgreSQL安装包 可以在官方网站上下载PostgreSQL的安装包,选择对应版本的下载包。或者使用Linux系统自带的包管理器来进行安装。 步骤二:安装PostgreSQL 使用以下命令在Linux系统上安装PostgreSQL: sudo apt-get update sudo apt…

    Linux 2023年5月14日
    00
  • Linux vncpasswd命令

    Linux vncpasswd 命令的作用与使用方法 Linux vncpasswd 命令用于设置 VNC 连接的密码。VNC 是一种远程桌面协议,可以让用户通过网络远程访问其他计算机的桌面环境。使用 vncpasswd 命令可以设置 VNC 连接的密码,提高系统的安全性。 命令语法 vncpasswd 命令的基本语法如下: vncpasswd [文件名] …

    Linux 2023年5月10日
    00
  • 如何在Linux系统上监控日志文件?

    在Linux系统上监控日志文件可以使用多种工具和技术,下面是一些常见的方法和工具: 1. 使用tail命令监控日志文件 tail命令可以用来实时查看文件的最后几行内容。在Linux系统上,可以使用tail命令来监控日志文件。例如,要监控/var/log/messages文件,可以使用以下命令: tail -f /var/log/messages 这会实时输出…

    Linux 2023年4月19日
    00
  • linux 系统权限 数字含义

    摘抄: sudo chmod XXX dir_name XXX是你要设置的权限代号,第一位代表Owner,第二位代表Group,第三位代表Others XXX中0代表什么都不可以,1代表可执行,2代表可读,4代表可写,如果要同时具备多项权限就把各种权限的代号加起来,可读可写就是6,可读可写可执行就是7

    Linux 2023年4月11日
    00
合作推广
合作推广
分享本页
返回顶部