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

遇到编译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日

相关文章

  • Centos7(linux)使用crond服务定时执行js脚本并将脚本的输出内容记录日志文件的简单应用

    – ## 在Centos7.8上使用crond服务定时执行js脚本并将脚本执行的输出记录日志 1. 安装wget 2. wget https://npm.taobao.org/mirrors/node/v14.8.0/node-v14.8.0-linux-x64.tar.xz3. xz -d node-v14.8.0-linux-x64.tar.xz4. t…

    Linux 2023年4月11日
    00
  • 一文掌握.Net core中的缓存

    一文掌握 .NET Core 中的缓存 缓存是提高应用性能的一种有效方式。在 .NET Core 中,我们可以使用 IMemoryCache 接口来实现缓存功能。 1. 在应用中配置缓存 在使用缓存之前,我们需要在应用中配置它。一般来说,缓存的配置都会在 Startup 类中完成。以下是在 .NET Core 中配置缓存的步骤: 1.1 添加缓存服务 首先,…

    Linux 2023年5月14日
    00
  • Linux6.7卸载系统自带的mysql-libs* crontab命令不能用了原因分析

    Linux6.7卸载系统自带的mysql-libs 背景 在升级mysql的过程中,可能会遇到需要卸载系统自带的mysql-libs的情况。但是,在卸载过程中,会发现crontab命令不能使用,这是由于mysql-libs包被卸载后,系统的crontab命令需要加载mysql相关的动态链接库。 解决方案 1. 安装cronie 由于mysql-libs包被卸…

    Linux 2023年5月14日
    00
  • [Linux] PHP程序员玩转Linux系列-Nginx中的HTTPS

    1.PHP程序员玩转Linux系列-怎么安装使用CentOS 2.PHP程序员玩转Linux系列-lnmp环境的搭建 3.PHP程序员玩转Linux系列-搭建FTP代码开发环境 4.PHP程序员玩转Linux系列-备份还原MySQL 5.PHP程序员玩转Linux系列-自动备份与SVN 6.PHP程序员玩转Linux系列-Linux和Windows安装ngi…

    Linux 2023年4月13日
    00
  • Linux中的工作队列(转载)

    转载自《Linux中的工作队列》 http://blog.chinaunix.net/space.php?uid=487105&do=blog&cuid=971040 [前记]Linux自从2.6.20之后,工作队列发生了一些变化,目前从网络上搜索的资料一般都是介绍老版本的工作队列,很少见到对新版本的介绍。本文对新老版本都做了简要概述,并分别…

    Linux 2023年4月11日
    00
  • Mac、Linux 安装 zsh & oh-my-zsh

    Mac、Linux 安装 zsh & oh-my-zsh 这是转载自左岸博客的一篇文章 shell 俗称壳,c 语言编写的命令解析器程序,是用户使用 linux 的桥梁。Linux/Unix 提供了很多种 Shell。常用的 Shell 有这么几种,sh、bash、csh 等。可以通过以下命令,查看系统有几种 shell: $ cat /etc/sh…

    Linux 2023年4月12日
    00
  • CentOS下编译安装python包管理安装工具pip教程

    下面是“CentOS下编译安装python包管理安装工具pip教程”的完整攻略,内容包括安装依赖、下载PIP、编译安装PIP、使用PIP安装Python包等内容,最后会附上两个示例说明。 CentOS下编译安装python包管理安装工具pip教程 安装依赖 在编译安装PIP之前,需要安装一些依赖包。在CentOS下可以使用以下命令安装: sudo yum i…

    Linux 2023年5月14日
    00
  • Linux Shell 使用 if-then 结构化命令

      在上一篇博文中给出的那些shell脚本里,shell按照命令在脚本中出现的顺序依次进行处理。对顺序操作来说,这已经足够了,因为在这种操作环境下,你想要的就是所有的命令按照正确的顺序执行。然而,并非所有程序都如此操作。   许多程序要求对shell脚本中的命令施加一些逻辑流程控制。有一类命令会根据条件使脚本跳过某些命令。这样的命令通常称为结构化命令(str…

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