makefile简单使用
makefile简单使用
写法:
写法一:
目标:依赖
tab键:规则命令

这样写缺点:一个文件改变,编译时全部文件重新编译。
原因:依赖文件如果比目标文件新,则重新生成目标。
隐含规则:默认处理第一个目标,如写法二结果是app,而不是main.o那些。可以指定目标,如makefile test,处理test目标
只有一个makefile文件,直接make。多个例如mk1,ma2,执行make -f mk1
搭配函数:
wildcard 可以进行内容匹配
patsubst 内容的替换
写法二:

写法三:



问题:
问题1:-l(L的小写)链接的到底是动态库还是静态库
答案:如果链接路径下同时有 .so 和 .a 那优先链接 .so
问题2:如果路径下同时有静态库和动态库如何链接静态库
答案:使用显示链接, gcc -l:lib***.a (将静态库的名字显示写出来)
或者在 gcc 编译的时候 加入参数 -static -lXXX, 则可以添加路径下面的静态库。
验证方法:
可以通过 ldd 命令查看生成的 目标文件链接的库,使用方法: ldd ***.o

浙公网安备 33010602011771号