GCC
常用指令
-g
:生成调试二进制文件-DDEBUG=10
:设置宏的值-I
:include,添加头文件,如-I/home/user/include
-l
:直接链接静态库,类似-lfmt -lpthread
-L
:编译程序按照指定的路进去寻找库文件,一般的在-L的后面可以一次用-l指定多个库文件。如-L../lib
-D
:设置宏,类似-D SSL
makefile
固定变量
- $^ 表示所有的依赖文件
- $@ 表示生成的目标文件
- $< 代表第一个依赖文件
.PHONY
- 标识某个是目标而不是命令
.PHONY: clean ALL
@+指令
- 隐藏指令执行结果(不显示到输出)
demo
all:main
cc=g++
obj_source=./main.cpp ../util/config.cpp ../server/game/game.cpp
obj=main
header=-I../util
link=-lfmt
.PHONY:main
main: $(source)
$(cc) -g $(obj_source) -o $(obj) $(link) $(header)
[!quote] 参考 https://zhuanlan.zhihu.com/p/575852387