[问题]求助tfn2k的编译问题(已解决)

Web、Mail、Ftp、DNS、Proxy、VPN、Samba、LDAP 等基础网络服务
回复
train1981
帖子: 6
注册时间: 2007-12-18 8:52

[问题]求助tfn2k的编译问题(已解决)

#1

帖子 train1981 » 2007-12-20 23:00

adminqiao@qiaoPC:~/Desktop/tfn2k/src$ ls
aes.c cast.c flood.c ip.h~ process.c tribe.c
aes.h config.h ip.c Makefile td.c tribe.h
base64.c disc.c ip.h mkpass.c tfn.c
adminqiao@qiaoPC:~/Desktop/tfn2k/src$ make
gcc -Wall -O3 disc.c -o disc
disc.c:1:19: error: stdio.h: No such file or directory
disc.c:2:20: error: unistd.h: No such file or directory
disc.c:3:23: error: sys/types.h: No such file or directory
disc.c:4:22: error: sys/stat.h: No such file or directory
disc.c:5:19: error: fcntl.h: No such file or directory
disc.c: In function ‘main’:
disc.c:23: warning: implicit declaration of function ‘open’
disc.c:23: error: ‘O_RDONLY’ undeclared (first use in this function)
disc.c:23: error: (Each undeclared identifier is reported only once
disc.c:23: error: for each function it appears in.)
disc.c:24: warning: implicit declaration of function ‘exit’
disc.c:24: warning: incompatible implicit declaration of built-in function ‘exit’
disc.c:25: warning: implicit declaration of function ‘printf’
disc.c:25: warning: incompatible implicit declaration of built-in function ‘printf’
disc.c:26: warning: implicit declaration of function ‘getchar’
disc.c:30: warning: implicit declaration of function ‘close’
disc.c:30: error: ‘O_WRONLY’ undeclared (first use in this function)
disc.c:30: error: ‘O_CREAT’ undeclared (first use in this function)
disc.c:30: error: ‘O_TRUNC’ undeclared (first use in this function)
make: *** [disc] Error 1
adminqiao@qiaoPC:~/Desktop/tfn2k/src$


本人是个新手,以上代码是我编译tfn2k时,报的错,看不太明白。这是老师让完成的试验,望达人指点(ip.h文件里的in_addr都已注释了)

附:我在网上查的资料说gcc不能编译只能用egcs,而egcs太老了,网上不好找,请问哪位高人有,给我一个,先谢谢了!我的邮箱是qiaoxy_1981@163.com
上次由 train1981 在 2007-12-25 12:31,总共编辑 2 次。
train1981
帖子: 6
注册时间: 2007-12-18 8:52

#2

帖子 train1981 » 2007-12-20 23:01

先自己顶一下了!再次感谢关注此贴的朋友!
头像
kontboy
帖子: 18
注册时间: 2007-08-25 23:08
联系:

#3

帖子 kontboy » 2007-12-22 15:56

你的问题我也不能确定,不过还是说一下我自己的看法:

----------------

disc.c:1:19: error: stdio.h: No such file or directory
disc.c:2:20: error: unistd.h: No such file or directory
disc.c:3:23: error: sys/types.h: No such file or directory
disc.c:4:22: error: sys/stat.h: No such file or directory
disc.c:5:19: error: fcntl.h: No such file or directory

从上看出,错误信息是找不到stdio.h unistd.h sys/types.h sys/stat.h fcntl.h这几个文件,你需要确认一下到底有没有这几个文件。并确定你所下载的TFN2k是完整的、可用的。

如果存在这几个文件,那么可能是编译器的问题,或是权限问题。可以尝试一下用sudo make。

-------------------

我自己也编译使用过TFN2k,Ubuntu 7.04 GCC版本忘记了。
头像
hubert_star
论坛版主
帖子: 5373
注册时间: 2007-10-29 22:12
系统: OSX 10.9 + Ub 1304
来自: 江苏南京

#4

帖子 hubert_star » 2007-12-22 16:32

确定正确安装了开发包了吗?
佛经说,人有八苦: 生、老、病、死、求不得、怨憎、爱别离、五阴盛 故我苦!
圣经说,人有七罪: 饕餮、贪婪、懒惰、淫欲、傲慢、嫉妒和暴怒  故我有罪!

我这篇帖子里面没有任何攻击我们伟大的中华人民共和国政府和任劳任怨的人民公仆(和本论坛高素质的版主)的文字和含义;

特此声明!

有些事,我们明知道是错的,也要去坚持,因为不甘心;有些人,我们明知道是爱的,也要去放弃,因为没结局;有时候,我们明知道没路了,却还在前行,因为习惯了。

欢迎来我的新浪微博@me
train1981
帖子: 6
注册时间: 2007-12-18 8:52

#5

帖子 train1981 » 2007-12-22 23:45

kontboy 写了:你的问题我也不能确定,不过还是说一下我自己的看法:

----------------

disc.c:1:19: error: stdio.h: No such file or directory
disc.c:2:20: error: unistd.h: No such file or directory
disc.c:3:23: error: sys/types.h: No such file or directory
disc.c:4:22: error: sys/stat.h: No such file or directory
disc.c:5:19: error: fcntl.h: No such file or directory

从上看出,错误信息是找不到stdio.h unistd.h sys/types.h sys/stat.h fcntl.h这几个文件,你需要确认一下到底有没有这几个文件。并确定你所下载的TFN2k是完整的、可用的。

如果存在这几个文件,那么可能是编译器的问题,或是权限问题。可以尝试一下用sudo make。

-------------------

我自己也编译使用过TFN2k,Ubuntu 7.04 GCC版本忘记了。

先谢谢,确实安装包里没有stdio.h unistd.h sys/types.h sys/stat.h 和 fcntl.h这五个文件;应该不是权限的问题,我用的是root;完整性我没有对比我也不知道。呵呵!
再回复楼上朋友的,我就是再google搜的,有就下载了!至于开发包,我不明白,没有编译哪来的开发包呢???

“我自己也编译使用过TFN2k,Ubuntu 7.04 GCC版本忘记了。”听这句似乎不是GCC的问题??

我一直困惑两个问题(因为我没有在linux下编译过东西):
1.就是安装包里怎么有td.c和tfn.c了,是不是编译之后就有这两个进程了。
2.如果他们正常编译完之后,应该生成什么文件?是和win一样生成exe文件,还是自己制定后缀名的可执行文件
3.我还下了一个版本,里面多了些和先前下的文件中同名.c文件一样名字的.o文件,这是目标文件吧?那怎么把这些目标文件连接起来呢??
头像
kontboy
帖子: 18
注册时间: 2007-08-25 23:08
联系:

#6

帖子 kontboy » 2007-12-24 8:47

stdio.h unistd.h sys/types.h sys/stat.h 和 fcntl.h 这几个文件是C的头文件,如果没有就安装build-essential。
终端下执行:apt-get install build-essential

你所提的三个问题,在正确编译后,答案一目了然。。。
train1981
帖子: 6
注册时间: 2007-12-18 8:52

#7

帖子 train1981 » 2007-12-24 19:44

好的,再次感谢!
finingphon
帖子: 1
注册时间: 2008-10-07 12:36

Re: [问题]求助tfn2k的编译问题(已解决)

#8

帖子 finingphon » 2008-10-07 12:44

我想知道你是怎么解决的
回复