在安装了ubuntu的虚拟机上用gcc -o fork fork.c编译文件fork.c的时候出现如下提示:
fork.c:1:20: 错误: string.h:No such file or directory
fork.c:2:19: 错误: stdio.h:No such file or directory
fork.c:3:19: 错误: errno.h:No such file or directory
fork.c: 在函数 ‘main’ 中:
fork.c:13: 错误: ‘NULL’ 未声明 (在此函数内第一次使用)
fork.c:13: 错误: (即使在一个函数内多次出现,每个未声明的标识符在其
fork.c:13: 错误: 所在的函数内只报告一次。)
fork.c:18: 警告: 隐式声明与内建函数 ‘exit’ 不兼容
fork.c:18: 错误: ‘errno’ 未声明 (在此函数内第一次使用)
请问各位大虾,这是什么原因?要怎么样才能编译通过?
[ 本帖最后由 mlqq 于 2008-5-26 17:35 编辑 ]
maliaoliao 于 2008-05-28 23:10:06发表:
sudo apt-get install g++
就可以了
ubuntu菜鸟 于 2008-05-26 20:40:45发表:
1 string.h:No such file or directory
说明你缺少头文件,可以去新立德里找到名如 libc(差不多就是这个名字,你找找看)的软件包安装。
2 “NULL 未声明”
所以出现这个提示,是因为这个宏在GCC里没有被预定义。
3 隐式声明与内建函数 ‘exit’ 不兼容
这是个系统函数,你得把对应的头文件用#include包括进去。是那个我也忘了(汗~),可能是stdlib.h。
4 ‘errno’ 未声明
errno是系统全局变量,指示函数调用失败时的信息。你如果想显示函数出错信息,应该加“errno.h”头文件。
我也是新手,刚学linux,大家互相帮忙啊。
[ 本帖最后由 ubuntu菜鸟 于 2008-5-26 20:41 编辑 ]
deepwhite 于 2008-05-26 20:23:27发表:
查看 /usr/include下面有没有上面指出的那几个文件。不是GCC的问题,应该。
pmdxx 于 2008-05-26 18:04:09发表:
这会不会是你的gcc的没装好?你运行其他程序出现错误没?