main.cpp:1:10:致命错误:Sort.h:没有此文件或目录

main.cpp:1:10:致命错误:Sort.h:没有此文件或目录

我想编写 makefile 来编译我的 C++ 代码。

我的文件树是这样的:

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

这是我的 makefile:

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

你能帮我编辑我的 makefile 吗?

答案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

相关内容