Chinaunix首页 | 论坛 | 博客
  • 博客访问: 325620
  • 博文数量: 106
  • 博客积分: 3081
  • 博客等级: 中校
  • 技术积分: 1090
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-15 14:07
文章分类

全部博文(106)

文章存档

2009年(1)

2007年(34)

2006年(71)

我的朋友

分类:

2006-03-17 12:39:02

哈哈哈.我是菜鸟,今天download了原代码,但调2个小时不了,最后还是成功了
今天才学makefile ..找了本烂书就那么两页说怎么写makefile.不要紧,如果你是和我一样菜.可以一种聪明点的方法:

在 下载源码.
我们创一个目录 /src 解压.
这时要看readme :
QUICK AND DIRTY
===============
Execute the following from the src/ directory:
    ./configure    # try to figure out all implementation differences
    cd lib         # build the basic library that all programs need
    make           # use "gmake" everywhere on BSD/OS systems
    cd ../libfree  # continue building the basic library
    make
    cd ../libroute # only if your system supports 4.4BSD style routing sockets 
    make           # only if your system supports 4.4BSD style routing sockets
    cd ../libxti   # only if your system supports XTI           
    make           # only if your system supports XTI
    cd ../intro    # build and test a basic client program
    make daytimetcpcli
    ./daytimetcpcli 127.0.0.1                                     但最后还是能运行了
 

这些E文还能看吧...

如果你没有make它们,那么当你想debug一个程序你可能这样写:
gcc programme.c -I /src/lib -o programme 或:
gcc programme.c -I /src/lib -L/src/lib -o programme
这样也不行.
错误是config.h 的路径不对. 这是你会想修改 /src/lib/unp.h 里 #include<../config.h>的路径为:
include
以为可以OK了这次,但是一debug,又出现错误:
 
sys/event.h
sys/filio.h
sys/sockio.h
net/if_dl.h:

这是你会用命令试途去找这些文件,但这是错的.
 
看了readme 把那些make之后.你只要make porgrame就可以得到可运行文件.
但为什么之前我写的:gcc programme.c -I /src/lib -o programme 是不行的呢?
 

原来当我们make programe时我们应该看到一些message.这时你就要聪明点了:

gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o daytimetcpsrv2.o daytimetcpsrv2.c
gcc -I../lib -g -O2 -D_REENTRANT -Wall -o daytimetcpsrv2 daytimetcpsrv2.o ../libunp.a -lpthread

第一条是为了生成.o文件.   -D_REENTRANT -Wall参数我还不懂....请高手说.
后一条是生成可执行文件.  但和我们自写的一条命令:gcc programme.c -I /src/lib -o programme
严格差别就在于一个文件  ../libunp.a   这个文件.  里面包含了很多头文件和涵数库.  
我想就是忽略了这里..........
 

哎.....................搞了我两个小时.逃了4节课...........................anyway还是完成了.

请高手指点.thanks very much .
 
 
 
 
 
阅读(362) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~