Я работаю над учебником. Очень простые тестовые проекты, которые я пытаюсь создать, имеют только 3 файла: ./src/main.cpp./src/implementation.cpp и ./include/header.hpp Это файл make.
VPATH = src include
CPPFLAGS = -I include
main: main.o implementation.o
main.o: header.hpp
implementation.o: header.hpp
При вызове без каких-либо аргументов make строит только объектные файлы, но не связывает исполняемый файл. Предполагалось, что это неявное правило для prog или я чего-то не хватает? Мне действительно нужно, чтобы кто-то указал мне в правильном направлении.
Спасибо.
Я сделал первое имя цели таким же, как префикс исходного файла. Теперь вызовите cc, чтобы связать файлы объектов.
g++ -I include -c -o main.o src/main.cpp
g++ -I include -c -o implementation.o src/implementation.cpp
cc main.o implementation.o -o main
По какой-то причине ссылка на g++ работает, но ссылка на cc не работает.
Я могу явно указать правило, но хочу узнать, как использовать неявные правила.