简单的makefile用法
Linux编译c++/c 一般都是用g++或者gcc编译器,相比window下集成好的工具,gcc们需要自己手动编译软件,所以我们利用makefile来帮助我们编译。下面我们来编译一下最简单的helloworldhelloworld:g++ helloworld.cpp -o helloworld完整代码见:在终端直接输入make,就会自动编译如果make不能识别直接安装下make...
Linux编译c++/c 一般都是用g++或者gcc编译器,相比window下集成好的工具,gcc们需要自己手动编译软件,所以我们利用makefile来帮助我们编译。
下面我们来编译一下最简单的helloworld
helloworld:
g++ helloworld.cpp -o helloworld
完整代码见:https://github.com/xiaoxiaodaining/simple-to-makefile
在终端直接输入make,就会自动编译
如果make不能识别直接安装下make模块就好了
上面代码可以看成
target:
[tap] system command1
[tap] system command2
...
target:表示目标
tap: 表示命令前要有个tap空格(没有tab空格,makefile不能识别是命令)
system command:表示系统命令
我们是使用makefile就是为了简化编译过程,现在我们可以利用make多次编译,当我们遇到多文件时,一个文件改动可能上面的编译方式就要全部重来一次,所以我们使用增量编译,我们看例子二:
helloworld: main.o other.o
g++ main.o other.o -o helloworld
main.o: main.cpp other.h
g++ -c main.cpp -o main.o
other.o: other.cpp other.h
g++ -c other.cpp -o other.o
clean:
rm *.o helloworld
完整代码见:https://github.com/xiaoxiaodaining/simple-to-makefile
makefile 根据文件时间来编译代码,所以使用增量编译后我们改哪边的代码,他就去编译哪边,减少了重复编译的时间,这边可以看到有好多target(目标), make命令默认编译第一个target,比如我们像运行clean这个target, 我们使用 make clean这个命令就行了。
更多推荐
所有评论(0)