读书人

1. SRCS=test1.c 2. OBJS=test.o

发布时间: 2012-03-25 20:55:16 作者: rapoo

1. SRCS=test1.c 2. OBJS=test.o 3. 4. all:test 5. 6. test:${O
程序代码是

C/C++ code
#i nclude <stdio.h>#i nclude "zlib.h"int main(){     //原始数据     const unsigned char strSrc[]="hello world!\n\aaaaa bbbbb ccccc ddddd aaaaa bbbbb ccccc ddddd中文测试 中文测试\aaaaa bbbbb ccccc ddddd aaaaa bbbbb ccccc ddddd中文测试 中文测试\aaaaa bbbbb ccccc ddddd aaaaa bbbbb ccccc ddddd中文测试 中文测试\aaaaa bbbbb ccccc ddddd aaaaa bbbbb ccccc ddddd中文测试 中文测试";     unsigned char buf[1024]={0},strDst[1024]={0};     unsigned long srcLen=sizeof(strSrc),bufLen=sizeof(buf),dstLen=sizeof(strDst);      printf("Src string:%s\nLength:%d\n",strSrc,srcLen);     //压缩      compress(buf,&bufLen,strSrc,srcLen);      printf("\nAfter Compressed Length:%d\n",bufLen);      printf("Compressed String:%s\n",buf);     //解压缩      uncompress(strDst,&dstLen,buf,bufLen);      printf("\nAfter UnCompressed Length:%d\n",dstLen);      printf("UnCompressed String:%s\n",strDst);     return 0;}


我的makefile:
C/C++ code
   SRCS=test1.c   OBJS=test.o      all:test      test:${OBJS}        gcc -o test ${OBJS}          test.o:${SRCS}        gcc -o test.o -c ${SRCS} -lz


出错信息:
make all
gcc -o test test.o
test.o: In function `main':
test1.c:(.text+0x163): undefined reference to `compress'
test1.c:(.text+0x1bb): undefined reference to `uncompress'
collect2: ld 返回 1
make: *** [test] 错误 1

我已经制定目录动态库所在/usr/local/zlib/lib加在
/etc/ld.so.conf文件里,


[解决办法]
应该就是链接库加载问题,
[解决办法]
你的makefile写错了
SRCS=test1.c
OBJS=test.o

all:test

test:${OBJS}
gcc -o test ${OBJS} -lz ;连接时要用-lz

test.o:${SRCS}
gcc -o test.o -c ${SRCS} ;;编译时-lz没用

读书人网 >C++

热点推荐