привет я хочу сделать Makefile в Linux, который будет принимать все .cpp файлы в директории компилировать их и создать один файл .o, что я могу активным, как я могу сделать это с неявными правиламиНеявные правила в Makefile
благодаря Mati
привет я хочу сделать Makefile в Linux, который будет принимать все .cpp файлы в директории компилировать их и создать один файл .o, что я могу активным, как я могу сделать это с неявными правиламиНеявные правила в Makefile
благодаря Mati
Неявные правила помогут создать объектные файлы, но объединить их вместе будет делать явно (как это то, что редко делается).
OBJ = a.o b.o
big.o : ${OBJ}
${LD} -r -o [email protected] $^
Или, может быть, вы можете попробовать следующий метод после того, как правильно определены переменные:
.o: .cpp
$(CPP) -c $(CPPFLAGS) $< -o [email protected]
$(EXECUTABLE): $(OBJ)
$(CPP) $(LDFLAGS) $^ -o [email protected]
$ (CPP) и $ (CPPFLAGS) предназначены для препроцессора, а не для компилятора. Я думаю, вы имели в виду $ (CXX) и $ (CXXFLAGS). – robinjam
Вы имеете в виду один '' .a' или .so' файл? –
Там будут файлы n .o для файлов ncpp. Я думаю, вы говорите о .so. Используйте ar rcs для генерации libs. – Alam