关于在linux下出现stdio.h文件不存在等gcc标准库不能找到的解决办法

首先说明一下我的系统配置:ubuntu 12.04     gcc 4.6.3

有几天没有使用ubuntu了,今天拿出来编程序,刚开始编译一个uboot1.1.6的代码。出现了stdio.h:没有那么个文件或目录的错误,因为我是用的arm-linux-gcc交叉编译编的,所以我刚开始怀疑是不是我的编译器有问题。后来我去编译以前写的一个网络程序

用gcc -o test test.c  然后还是出现了stdio.h:没有那么个文件或目录的错误。然后就各种google,百度。最后的解决方案是:

我的gcc不知道什么原因缺少了libc6-dev,然后就安装,刚开始没装上。究其原因是因为有一次我把ubuntu的源还原成默认的了,所以更新不了,也下载不了。于是我把软件源改成了163的。参照:gaoke0820.blog.163.com/blog/static/216649652012460130314/

改完后,

sudo apt-get update

sudo apt-get upgrade

sudo apt-get install libc6-dev

装完之后应该就没问题了。反正我这样装完之后gcc就又可以用了。希望看到的有帮助,这个问题的解决方案网上没有很细致的说法。

总结:1、注意软件源的问题  2、安装libc6-dev

关于在linux下出现stdio.h文件不存在等gcc标准库不能找到的解决办法,布布扣,bubuko.com

时间: 2024-12-07 04:24:53

关于在linux下出现stdio.h文件不存在等gcc标准库不能找到的解决办法的相关文章

LINUX下安装pcre出现WARNING: 'aclocal-1.15' is missing on your system错误的解决办法

1.下载安装包 wget https://ftp.gnu.org/gnu/automake/automake-1.15.tar.gz 2.解压 tar -xzvf automake-1.15.tar.gz 3.安装 $ cd automake-1.15 $ ./configure --prefix=安装目录 $ make $ sudo mkdir -p /opt $ sudo make install 4.导入环境变量 export PATH=/opt/aclocal-1.15/bin:$PAT

centos7下/etc/rc.local文件里配置的开机启动项不执行的解决办法

习惯于在/etc/rc.local文件里配置我们需要开机启动的服务,这个在centos6系统下是正常生效的.但是到了centos7系统下,发现/etc/rc.local文件里的开机启动项不执行了!仔细研究/etc/rc.local文件内容,发现问题如下: [[email protected] ~]# cat /etc/rc.local #!/bin/bash # THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES # # It is highly advi

linux下使用math.h头文件-l与-L参数

遇到一个问题就是,c语言用到sqrt时,明明已包含math.h文件,却仍提示未定义,所以上网招答案的: gcc -lm 以下转自http://bbs.csdn.net/topics/330105678 ·-l参数和-L参数 -l参数就是用来指定程序要链接的库,-l参数紧接着就是库名,那么库名跟真正的库文件名有什么关系呢?就拿数学库来说,他的库名是m,他的库文件名是libm.so,很容易看出,把库文件名的头lib和尾.so去掉就是库名了 好了现在我们知道怎么得到库名,当我们自已要用到一个第三方提供

Linux下的删除过期文件操作

在实际的软件开发项目中,经常会有实现删除过期文件的需求.即要求程序能够自动删除多长时间之前生成的文件.本文提供了一个示例代码,为相关的开发工作提供了参考. 程序如下(本程序用makefile进行编译): /*********************************************************************** 版权所有 (C)2014, Zhou Zhaoxiong.* * 文件名称: TestFileDelete.c* 内容摘要: 用于演示Linux下过期

恢复Linux下被误删除的文件(笔记)

恢复Linux下被误删除的文件 [[email protected] ~]# mount /dev/cdrom /mnt/ 分一个区:sda4  查找:extundelete 分一个区:sda4  [[email protected] ~]# mkdir /tmp/sda4 [[email protected] ~]# mkfs.ext4 /dev/sda4     格式化 [[email protected] Desktop]# echo $? 0 [[email protected] ~]#

Linux下为何都是文件的理解

所谓“文件”,就是在我们的电脑中,以实现某种功能.或某个软件的部分功能为目的而定义的一个单位. Linux都是以文件的形式存在,当我们访问某个文件(Linux中的文件有目录,连接,普通文本),由于Linux的文件的类型 而区分:如连接文件等,那使用这个文件时,那么就是调用了某个命令: 如普通文本文件时,那么当使用这个文件时,那就是访问该文件的内容 由于文件的类型的不同,从而区别于window系统下的应用:如播放器,EditPlus,浏览器,文件夹等,这些在Linux中都有 对于的不同类型的文件!

Linux下使用vi新建文件保存文件时遇到错误:E212: Can't open file for writing

出现E212: Can't open file for writing的问题是由于权限问题导致的,解决方法有以下思路: 1.使用root进行登录,然后再操作. 2.在使用命令时,前面加sudo. 3.如果是多级文件夹的文件时,由于这个文件夹没有创建,所以要先创建这个文件夹,再来操作这个文件. Linux下使用vi新建文件保存文件时遇到错误:E212: Can't open file for writing

linux下使用vim替换文件中的^M换行符

在linux下打开windows编辑过的文本,会出现由于换行符不一致而导致的内容格式错乱的问题.最常见的就是出现^M . 我出现的问题是:在windows编辑过的文件,传到linux上后再用vim打开,内容没有换行.也就是所有文件内容都在一行.然后再实际换行的位置多了个^M. 下面的方法是网上搜的.其中dos2unix还有一个相对应的unix2dos 1.使用dos2unix命令.一般的分发版本中都带有这个小工具(如果没有可以根据下面的连接去下载),使用起来很方便: $ dos2unix myf

linux下为目录和文件设置权限,

linux下为目录和文件设置权限,包括子目录的循环递归设置 chmod  命令可以改变所有子目录的权限,下面有2种方法 改变一个文件的权限: chmod mode file|dir 改变所有子目录的权限: chmod mode dir -R                  注意后面加了个-R参数 参数就是权限模式 mode = 777 or 752 ,666,,, mode 的三个数字,分别表示owner,group,others所具有的权限. 1 = x 执行 2 = w 写 4 = r 读