免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: lvrainbow
打印 上一主题 下一主题

[C] makefile问题,有点复杂,多谢大家! [复制链接]

招聘 : Java研发
论坛徽章:
0
11 [报告]
发表于 2009-11-23 15:13 |只看该作者

回复 #10 reer 的帖子

我现在在makefile中加上了libmips.a的链接,如下:

编译器是:complier=mips-linux-uclibc-gcc
编译参数是:com_opt=-c -g -Wall -fno-strict-aliasing -O -O2 $(OPLAN_LIB) -o $@
lib所在位置:OPLAN_LIB=../OPlanlib/libmips.a

这么加了以后,我make后生成了libresult.a,也不报错了!

但是随后我在另一个makefile中用libresult.a这个库,它又报mipsAPI()这个函数未定义了
很是奇怪啊!!!!

论坛徽章:
0
12 [报告]
发表于 2009-11-23 16:43 |只看该作者
不太理解你的具体情景,像是另一个makefile里没有正确的链接libresult.a这个库?

招聘 : Java研发
论坛徽章:
0
13 [报告]
发表于 2009-11-23 17:06 |只看该作者
原帖由 reer 于 2009-11-23 16:43 发表
不太理解你的具体情景,像是另一个makefile里没有正确的链接libresult.a这个库?

      详细的情况是:
   我有一个生成的libresult.a的库,这个库用了libmips.a库里面的一个函数叫mipsAPI(),
还有其他四个库,假设全部在$(AGENT_LIBS)这个变量里,现在要用这五个库最终生成一个可执行文件,在生成最终的可执行文件时报错说libresult.a里面用到的mipsAPI()未定义。mipsAPI()是在libmips.a库中
语句是:
$(BIN_DIR)/snmpagent: $(AGENT_OBJS) $(AGENT_LIBS)
$(LINKER_NAME) $(LINKER_OPT) $(AGENT_OBJS) $(OPLAN_LIB_DIR) $(AGENT_LIBS)
其中AGENT_OBJS是生成可执行文件需要的.o文件
    AGENT_LIBS是生成可执行文件需要的其他四个.a静态库

# -------------- Linker Options -------------
LINKER_OPT=-g -o $@
其中编译参数是:LINKER_OPT


OPLAN_LIB_DIR是libmips.a静态库的位置,位置是对的!

[ 本帖最后由 lvrainbow 于 2009-11-23 17:25 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP