main.cpp: 1: 10: фатально error: Sort.h: Нет такого файла или каталога

Я хочу написать make-файл для компиляции моих кодов C ++.

Дерево моих файлов следующее:

.
├── include
│   └── Sort.h
├── lib
│   └── Sort.cpp
└── src
    ├── main.cpp
    ├── makefile
    └── obj

А это мой make-файл:

cc=g++
CFLAGS= -c -w

.PHONY: all clean

all: main

main: main.o Sort.o
    $(cc) main.o Sort.o -o Sort -l m 

Sort.o: Sort.cpp ../lib
    $(cc) $(CFLAGS) main.cpp 


main.o: main.cpp ../include/Sort.h
    $(cc) $(CFLAGS) main.cpp 

clean: 
    rm *.o main 

Но я выдаю эту ошибку после запуска make в терминале:

g++ -c -w main.cpp 
main.cpp:1:10: fatal error: Sort.h: No such file or directory
    1 | #include <Sort.h>
      |          ^~~~~~~~
compilation terminated.
make: *** [makefile:16: main.o] Error 1

Вы можете помочь мне отредактировать мои make-файл?

0
задан 3 June 2021 в 20:06

1 ответ

Спасибо за @steeldriver комментарий.

Это правильный makefile:

cc=g++
CFLAGS= -c -w -I../include

.PHONY: all clean

all: main

main: main.o Sort.o
    $(cc) main.o Sort.o -o Sort -l m 

Sort.o: ../lib/Sort.cpp ../include/Sort.h
    $(cc) $(CFLAGS) ../lib/Sort.cpp 


main.o: main.cpp ../include/Sort.h Sort.o
    $(cc) $(CFLAGS) main.cpp 

clean: 
    rm *.o main
0
ответ дан 28 July 2021 в 11:32

Другие вопросы по тегам:

Похожие вопросы: