我在多个目录中得到了一个包含代码的项目,我想要的是递归编译每个目录,我就可以这样做。
我可以创建静态库,以便使用此makefile
创建.a
个文件
CXX=g++
CXXFLAGS=-std=c++11
PROJECT=admin.a
OBJECTS = Manager.o
all: $(PROJECT)
.cpp.o:
@echo -e "\033[32m -Building "$*"...\033[0m"
$(CXX) -c $(CXXFLAGS) $<
$(PROJECT): $(OBJECTS)
@echo -ne "\033[31m -Creating static library "$*"..."
@(ar rcs $(PROJECT) $(OBJECTS))
@echo -e "[DONE] \033[0m"
clean:
@(rm -rf *.o)
mrproper: clean
@(rm -rf $(EXEC))
但我不知道如何将这些与我的主程序相关联,
任何帮助都非常有用,
谢谢,
答案 0 :(得分:1)
您可以直接在链接器行中包含静态库(.a
):
gcc -o executable main.o admin.a