makefile 错误 求教

wtsoqp 2011-09-08 10:58:12
/usr/informix/bin/esql -o ../bin/send ../src/Send.o -I../include -I/home/tong1/tong/incl -L/home/tong1/tong/lib /home/ton
g1/tong/lib/libtl.a /home/tong1/tong/lib/librc5.a -L../lib -lpub -ldb -lmsg -lfile -lalllog -lspecial -ltrans -lm -ltl -lrc5 -sta
tic
i386ld fatal: archive symbol directory is missing from archive ../lib/libpub.a
execute 'ar ts ../lib/libpub.a' to restore archive symbol directory
*** Error code 13 (bu21)
以上是错误提示;
这是我执行的makefile文件:
###########################################################
INFORMIXDIR=/informix/infor32
LD_LIBRARY_PATH=$INFORMIXDIR/lib:$INFORMIXDIR/lib/esql
ESQL=${INFORMIXDIR}/bin/esql

#COMMFLAG= -D__COMM_TQ -DDEBUG -DDEBUG1 -DDEBUG2 -DDEBUG3 -DDEBUG4
COMMFLAG= -D__COMM_TQ -DEXIST_TEXT -DDEBUG

COMLIB=-lm -static

############################################################
# LOCAL ENV
GFBINDIR=../bin
GFLIBDIR=../lib
GFINCL=../include
GFSRCDIR=../src
SRVPUB=../pub
############################################################
# TONGLINK
TQDIR=$(HOME)/tong33
TQINCDIR=$(TQDIR)/incl
TQLIBDIR=$(TQDIR)/lib
TQCFLGS=-I$(TQINCDIR) -L$(TQLIBDIR)
TONGLINK= $(TQLIBDIR)/libtl.a $(TQLIBDIR)/librc5.a
COMMLIB=-lm -ltl -lrc5 -static
# TONGLINK
##################################################
SENDOBJS= ${GFSRCDIR}/Send.o
RESPOBJS= ${GFSRCDIR}/Resp.o

LIBS= $(GFLIBDIR)/libpub.a \
$(GFLIBDIR)/libmsg.a \
$(GFLIBDIR)/libdb.a \
$(GFLIBDIR)/libfile.a \
$(GFLIBDIR)/libtrans.a \
$(GFLIBDIR)/liballlog.a \
$(GFLIBDIR)/libspecial.a

all: $(GFBINDIR)/send \
$(GFBINDIR)/resp

.SUFFIXES:
.SUFFIXES: .o .ec .c .h .a

$(GFBINDIR)/send: $(SENDOBJS) $(LIBS)
$(ESQL) -o $@ $(SENDOBJS) -I$(GFINCL) $(TQCFLGS) $(TONGLINK) -L$(GFLIBDIR) -lpub -ldb -lmsg -lfile -lalllog -lspecial -ltrans $(COMMLIB)

$(GFBINDIR)/resp: $(RESPOBJS) $(LIBS)
$(ESQL) -o $@ $(RESPOBJS) -I$(GFINCL) $(TQCFLGS) $(TONGLINK) -L$(GFLIBDIR) -lpub -ldb -lmsg -lfile -lalllog -ltrans -lgetdata -lmsg -lspecial $(COMMLIB)

clean:
rm -f $(SENDOBJS) 2>/dev/null
rm -f $(GFSRCDIR)/Send.c 2>/dev/null
rm -f $(GFBINDIR)/send 2>/dev/null
rm -f *.o

.ec.o:
$(ESQL) -g -c -o $@ $(COMMFLAG) -I$(GFINCL) $(TQCFLGS) -L$(GFLIBDIR) $(COMMLIB) $<
rm -f $(*F).c
这个位啥子勒!!
...全文
265 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wtsoqp 2011-09-09
  • 打赏
  • 举报
回复
好没人气的帖子啊,我现在的问题就是所有自己文件夹下的.a文件都提示:
i386ld fatal: can't read archive symbol directory of archive ../lib/libpub.
这个错误,哪位好心的叔叔拜拜帮帮忙吧,sco
wtsoqp 2011-09-08
  • 打赏
  • 举报
回复
不过怎么找啊。。,前面的几个库文件咋都不报错的。只有我的lib里的报错啊?能给解释下过程不?
wtsoqp 2011-09-08
  • 打赏
  • 举报
回复
终于有人发现我的帖子了感动下,我去找找
赵4老师 2011-09-08
  • 打赏
  • 举报
回复
小心里面的Tab字符被某些脑残编辑器替换成空格。

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧