如何使用lib file在Makefile中创建另一个lib

如何使用lib file在Makefile中创建另一个lib,makefile,gnu-make,Makefile,Gnu Make,我想制作一个正在使用另一个我的lib文件的lib文件。我在makefile中尝试了各种组合来进行链接,但有时它会要求链接命令忽略或不警告,但在尝试使用libs中的代码时崩溃。我的makefile如下所示: SRC = a.cpp b.cpp c.cpp etc. OBJ = $(SRC:.cpp=.o) OUT = ./libHTTPServer.a INCLUDES := -I/home/myuser/Development/boost_1_51_0 \ -I/home

我想制作一个正在使用另一个我的lib文件的lib文件。我在makefile中尝试了各种组合来进行链接,但有时它会要求链接命令忽略或不警告,但在尝试使用libs中的代码时崩溃。我的makefile如下所示:

SRC = a.cpp b.cpp c.cpp etc.
OBJ = $(SRC:.cpp=.o)
OUT = ./libHTTPServer.a
INCLUDES := -I/home/myuser/Development/boost_1_51_0 \
            -I/home/myuser/Development/HTTPServers/Prot
CCFLAGS = -g
CCC = g++
LIBS = -L/home/myuser/Development/boost_1_51_0/buildedlibs/lib -lm
LDFLAGS = -g
.SUFFIXES: .cpp
.cpp.o:
    $(CCC) $(INCLUDES) $(CCFLAGS) -c $< -o $@ -lc libProt.a
$(OUT): $(OBJ)
    ar rcs $(OUT) $(OBJ)

depend: dep
dep:
    makedepend -- $(CCFLAGS) -- $(INCLUDES) $(SRC)
clean:
    rm -f $(OBJ) $(OUT) 

无法将库链接到正在创建的静态库。静态库只是打包到存档中的对象文件的集合


如果libProt是您自己生成的,并且有对象文件,您可能可以将它们添加到ar命令中,以合并这两个静态库。

您使用什么命令在不使用Make的情况下生成新文件?您尝试过ar命令吗?这就是我知道的一个,用于制作库.a out of.o files.anishsane我正在使用ar制作第二个lib文件ar rcs$out$OBJ