我想制作一个使用另一个我的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)
答案 0 :(得分:0)
您无法将库链接到您正在创建的静态库。静态库只是打包到存档中的对象文件的集合。
如果libProt是您自己创建的并且具有目标文件的东西,您可以在ar
命令中添加它们以“组合”这两个静态库。