Brew中加载外部的.o文件。

路飞-总裁 2010-06-10 08:26:05
在程序设计中,需要用到一个外部的静态链接库,该静态链接库已经用TCC编译成相应的.o文件,在Make文件中怎么把这个.o文件添加进来?我是这样做的
#----------------------------------------------------------------------------
# Lib file targets
#----------------------------------------------------------------------------

$(TARGET).$(MODULE) : $(TARGET).$(EXETYPE)
@echo ---------------------------------------------------------------
@echo TARGET $@
$(HEXTOOL) $(TARGET).$(EXETYPE) $(BINFORMAT) $(TARGET).$(MODULE)

$(TARGET).$(EXETYPE) : $(APP_OBJS)
@echo ---------------------------------------------------------------
@echo TARGET $@
$(LD) $(LINK_CMD) $(TARGET).$(EXETYPE) $(LFLAGS) $(APP_OBJS) lib1.a lib2.a $(LINK_ORDER)

在lib1中调用了lib2的接口,这样添加编译不通过啊,这个东西到底怎么搞呢,知道的解决下。
...全文
1690 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
路飞-总裁 2010-06-12
  • 打赏
  • 举报
回复
谢了,问题已经解决,是应为.a中有静态变量。安装工具后编译正常。
sxcnfly 2010-06-11
  • 打赏
  • 举报
回复
或者你直接把APP_OBJS改为APP_OBJS = lib1.a lib2.a试一下。
儿大不由爷 2010-06-11
  • 打赏
  • 举报
回复
在$(LD) $(LINK_CMD) $(TARGET).$(EXETYPE) $(LFLAGS) $(APP_OBJS) lib1.a lib2.a $(LINK_ORDER)
中加上文件名就行了吧 在lib1.a 前面,试试
Marco_Ye 2010-06-11
  • 打赏
  • 举报
回复
还可以:
OBJS = app1.o app2.o
LIBS = lib1.o lib2.a
APP_OBJS = $(OBJS) $(LIBS)

4,674

社区成员

发帖
与我相关
我的任务
社区描述
本论坛以AI、WoS 、XR、IoT、Auto、生成式AI等核心板块组成,为开发者提供便捷及高效的学习和交流平台。 高通开发者专区主页:https://qualcomm.csdn.net/
人工智能物联网机器学习 技术论坛(原bbs) 北京·东城区
社区管理员
  • csdnsqst0050
  • chipseeker
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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