2013-02-11 3 views
1

У меня есть проект с кодом в нескольких каталогах, что я пытаюсь сделать, это рекурсивно компилировать каждый из этих каталогов, и это я могу сделать.Makefile, рекурсивная компиляция и статические библиотеки

Я могу создать статические библиотеки около того в .a файлы с этим Makefile

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: Пожалуйста, покажите нам, что вы пробовали. Очень вероятно, что источник «в Интернете» уже показывает вам, как это сделать, если вы попробуете. – thiton

+0

Я добавил код двух типов makefile – lpostula

ответ

1

Вы можете включать статические библиотеки (.a) непосредственно в строке компоновщика:

gcc -o executable main.o admin.a 
+0

Большое спасибо, это то, что мне нужно, чтобы заставить его работать. – lpostula

Смежные вопросы