免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: zzxiaoma

用gcc编译程序出现错误 [复制链接]

zzxiaoma 该用户已被删除
发表于 2008-10-12 22:56 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
发表于 2008-10-12 22:56 |显示全部楼层
glibc库没有配置好,重新配置GCC吧

论坛徽章:
0
发表于 2008-10-13 09:44 |显示全部楼层
哎。。。。。。。。。。。!

论坛徽章:
0
发表于 2008-10-14 15:40 |显示全部楼层
取决于你的编译器,和你的路径配置。

引号表示 先搜索用户当前目录,再去找库目录,所以只要你配置正确了,你这种写法也不会出问题
关键是现在gcc 在库目录下找不到 stdio。h这个文件。

我这儿gcc就没出这个问题。
gcc (GCC) 4.1.2 20070925 (Red Hat 4.1.2-33)

论坛徽章:
0
发表于 2008-10-14 16:59 |显示全部楼层
setting的配置是否正确啊,还有编译器选择的对吗?

论坛徽章:
4
CU大牛徽章
日期:2013-04-17 11:48:26CU大牛徽章
日期:2013-04-17 11:48:40CU大牛徽章
日期:2013-04-17 11:48:45摩羯座
日期:2013-12-06 18:10:04
发表于 2008-10-15 18:29 |显示全部楼层
安装gcc的时候,肯定会提示你把glibc一块装上的啊。
楼主的代码是没有问题。

我想是不是你以前配置什么东西的时候,把libc给删了或者重新做了不合适的配置?

这种问题如果我们没有接触系统是没法帮你诊断的,建议你重装。当然,如果你要执意弄清楚的话,我觉得那会相当耗时耗力,虽然也许可以学不少东西,但也有可能让你抓狂。

我还有个建议:楼主用dpkg -l命令把你的包列出来,再用set命令列出你的环境变量,贴到这来, 我想这会好解决得多。

论坛徽章:
0
发表于 2008-10-15 18:44 |显示全部楼层
too easy question.
you should to read.

论坛徽章:
0
发表于 2008-10-16 18:25 |显示全部楼层

回复 #1 zzxiaoma 的帖子

没有该文件或目录

论坛徽章:
0
发表于 2008-10-18 20:45 |显示全部楼层
实际上有可能是你的LINUX版本没有安装这个头文件的原因.
以前我用UBUNTU6.04版本就缺少头文件.
若是DEBIEN的系统,你可以用sudo apt-cache search libstdc++.so.5或lisbstdc++.so.6或是libstdc.so.5libstdc.so.6看一下装了没,没装的话用
sudo apt get install libstdc++.so.5安装一下。
从上面来看应该是少了标准头文件的问题。

论坛徽章:
0
发表于 2008-10-19 22:23 |显示全部楼层

回复 #39 linews 的帖子

这个是用c写程序碰到的最简单的问题了。

编译程序分两部分:1、编译; 2、链接。

你找个Makefile的书简单看下,先将*.c编译成*.o, 再把*.o链接成可执行程序。
你用这种命令去编译是一条命令把编译和链接全搞了。

1、编译:
   编译的时候主要是确定内存空间等,也就是说就是要include头文件,编译器需要知道数据结构占用内存的大小和函数参数及返回值等对内存的需要等问题。也就是说这个阶段编译器会根据你的程序代码及代码中指定的头文件去做个扫描。

2、链接:
   链接时会到系统中$LD_LIBRARY环境变量指定的目录中去找对应的*.so或者*.a来链接你程序中使用的如printf库函数,当然*.so是动态库,*.a是静态库,二者不同。如果找不到包含你使用的函数的库文件,那就会报链接错。

你这种情况是没找到头文件。

#include <stdio.h>  是到系统默认放头文件的地方去找stdio.h文件,一般是/usr/include目录, 系统具体放头文件的目录好像是可以通过环境变量指定的,记不请了。

#include "stdio.h" 是到系统当前的目录下去找。

你这种情况下去看一下有没有  /usr/include/stdio.h 文件,如果没有的话应该是  glibc-header 开发包没装,具体开发包我记不请了,应该是这个。  glibc-* 的rpm有好几个的,都是从glibc-*.src.srpm 中编译出来的,建议你都装上去算了,省心。开发的时候也省事的。呵呵
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP