急!!makefile

zscedu 2011-11-24 02:58:27
makefile在make的时候有句这样的话
cc: -lsybdb: linker input file unused since linking not done
是怎么回事?虽然他也生成了库文件,但是是不可用的
...全文
124 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
zscedu 2011-11-25
  • 打赏
  • 举报
回复
高手帮帮忙吧
zscedu 2011-11-25
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 xxyxxb 的回复:]
我又没说执行,我的意思是这条规则啥都没做,这条规则不是相当于

C/C++ code


libopbksyb : DBfunc.o
#nothing more



引用 8 楼 zscedu 的回复:

引用 7 楼 xxyxxb 的回复:
你在编译的时候指定了-lsybdb,但你执行make的时候,并没有进行link阶段,另外,你确定你……
[/Quote]那我的makefile怎么改?
zscedu 2011-11-25
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 morrisyuan 的回复:]
朋友你这是在干吗/是不是在做编译器,是的话搞定了好帮下我吧,我也在弄这方面的
[/Quote]我不是在做编译器,而是我编译程序编译不过去,帮忙看看是不是makefile写错了
morrisyuan 2011-11-25
  • 打赏
  • 举报
回复
朋友你这是在干吗/是不是在做编译器,是的话搞定了好帮下我吧,我也在弄这方面的
zscedu 2011-11-24
  • 打赏
  • 举报
回复
还有一个奇怪的事情就是,那些被调用的函数,我都定义了,在相应的头文件当中也做了声明,但是在编译的时候,他竟然报错说那些函数没有定义
小笨同学 2011-11-24
  • 打赏
  • 举报
回复
我又没说执行,我的意思是这条规则啥都没做,这条规则不是相当于

libopbksyb : DBfunc.o
#nothing more

[Quote=引用 8 楼 zscedu 的回复:]

引用 7 楼 xxyxxb 的回复:
你在编译的时候指定了-lsybdb,但你执行make的时候,并没有进行link阶段,另外,你确定你是执行“make"然后弹出这个信息吗?因为按照你的Makefile,make直接执行libopbksyb这条规则,而这条规则什么都没做
libopbksyb这条规则不是执行DBfunc.o
[/Quote]
zscedu 2011-11-24
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 xxyxxb 的回复:]
你在编译的时候指定了-lsybdb,但你执行make的时候,并没有进行link阶段,另外,你确定你是执行“make"然后弹出这个信息吗?因为按照你的Makefile,make直接执行libopbksyb这条规则,而这条规则什么都没做
[/Quote]libopbksyb这条规则不是执行DBfunc.o
小笨同学 2011-11-24
  • 打赏
  • 举报
回复
你在编译的时候指定了-lsybdb,但你执行make的时候,并没有进行link阶段,另外,你确定你是执行“make"然后弹出这个信息吗?因为按照你的Makefile,make直接执行libopbksyb这条规则,而这条规则什么都没做
zscedu 2011-11-24
  • 打赏
  • 举报
回复
并且机器上有-lsybdb对应的库文件
zscedu 2011-11-24
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 silentwoolf 的回复:]
什么平台下的?如果是linux/unix下的话,可以ldd 看下你生成的库文件。另外,机器上是否有-lsybdb对应的库文件?
[/Quote]
是在linux系统下,我用ldd看了,报一个警告,你没有执行权限,没有一个动态执行
silentwoolf 2011-11-24
  • 打赏
  • 举报
回复
什么平台下的?如果是linux/unix下的话,可以ldd 看下你生成的库文件。另外,机器上是否有-lsybdb对应的库文件?
zscedu 2011-11-24
  • 打赏
  • 举报
回复
高手帮忙看看吧
zscedu 2011-11-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wzl9030 的回复:]
你应该把Makefile贴出来
[/Quote]这跟makefile有关系吗?这是
makefile的内容

SHELL=/bin/sh
ANSICC=/opt/ansic/bin/cc
CC=cc
CFLAGS= -DSYBASE -DLINUX -DDEBUG \
-I/usr/include \
-I$(HOME)/include \
-I$(SYBASEDIR)/include \
-lsybdb


libopbksyb : \
DBfunc.o

.c.o:
$(CC) $(CFLAGS) -c $<
ar rv libopbksyb.a $@

clean:
rm -f *.o
wzl9030 2011-11-24
  • 打赏
  • 举报
回复
你应该把Makefile贴出来

69,382

社区成员

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

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