在程序设计中,需要用到一个外部的静态链接库,该静态链接库已经用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的接口,这样添加编译不通过啊,这个东西到底怎么搞呢,知道的解决下。
------解决方案--------------------------------------------------------
在$(LD) $(LINK_CMD) $(TARGET).$(EXETYPE) $(LFLAGS) $(APP_OBJS) lib1.a lib2.a $(LINK_ORDER)
中加上文件名就行了吧 在lib1.a 前面,试试
------解决方案--------------------------------------------------------
或者你直接把APP_OBJS改为APP_OBJS = lib1.a lib2.a试一下。
------解决方案--------------------------------------------------------
还可以:
OBJS = app1.o app2.o
LIBS = lib1.o lib2.a
APP_OBJS = $(OBJS) $(LIBS)