makefile学习笔记&C++编译

静态链接库创建

  1. ar -rv maze.a BaseRouter.o ,将BaseRouter.o加入maze.a这个静态链接库中
  2. ranlib maze.a ,更新静态链接库符号表
  3. 库文件一般将.cpp改成.cxx

makefile笔记

  1. .PHONY: clean 表示clean为伪目标,否则如果文件夹下有clean文件会出错
  2. 而命令中的 $< 和 $@ 则是自动化变量, $< 表示所有的依赖目标集(也就是 BaseRouter.cxx ), $@ 表示目标集(就是 BaseRouter.o ),参见样例1
  3. makefile在target为.o的时候,dependence可以自动省略.cc,可以使用类似于 main.o : defs.h 的语法
  4. makefile只会完成第一个规则的第一个目标
  5. $(objects) 只是单纯的变量展开,一般表现为多条命令都是由于多目标的生成

样例

OOPWeek9_Makefile

 

原创文章地址:【makefile学习笔记&C++编译】,转载时请注明出处mhy12345.xyz

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据