当我写好了如下的cpp文件时,我也使用Makefile进行批量编译处理,于是我这样写。
-
-
- main:main.cpp printMap.cpp getMap.cpp freeMap.cpp deepSearch.cpp
- g++ main.cpp printMap.cpp getMap.cpp freeMap.cpp deepSearch.cpp -o main
输入make编译成功。
当我知道make会自动处理依赖,于是我这样写。
-
- main:main.o printMap.o getMap.o freeMap.o deepSearch.o
- g++ main.o printMap.o getMap.o freeMap.o deepSearch.o -o main
-
输入make编译成功。
当我知道可以使用变量的时候,于是我这样写。
-
-
- SOURCE = main.o printMap.o getMap.o freeMap.o deepSearch.o
-
- main:$(SOURCE)
- g++ $(SOURCE) -o main
-
-
输入make编译成功。
当我知道有匹配符的时候,于是我这样写。
- # 匹配所有的*.cpp文件,并且把匹配到的结果保存到变量SOURCE2
- SOURCE2=$(wildcard ./*.cpp)
- # 把所有的*.cpp文件替换成*.o文件,并且把结果保存到变量SOURCE
- SOURCE=$(patsubst %.cpp,%.o,$(SOURCE2))
-
- # 开始编译
- main:$(SOURCE)
- g++ $(SOURCE) -g -o main
输入make编译。
当我知道make可以扩展一些其他的功能的时候,我添加了一条clean功能
输入命令make clean 清除了所有的*.o文件