版权声明:本文为博主原创文章,仅供学习参考,转载请注明出处,谢谢! https://blog.csdn.net/Rong_Toa/article/details/82287178
在编码过程中,一般只负责部分模块的开发,并且某些开发过程中会有一些公共支撑库,这时候就需要考虑到代码的目录结构,我常常采用linux的目录结构开发,但是常常这并不是一种好的方法,在模块内部采用Linux目录式的开发,把最终可执行文件放到bin目录下,把源文件放到src目录下,把动态库放到lib目录下,把头文件放到include目录下,但是这仅仅限制于自身模块,比如在开发过程中,常常需要公共支撑库的内容,这时候就不能简简单单用linux目录结构来解决。
由于我个人习惯使用linux下的命令行,所以一般Makefile也都是自己敲,在过程中遇到了很多的问题,这也是为什么有人说没在命令行下编译过程程序是一大遗憾[苦笑]。
可以采用的结构是:
$ tree
.
└── software
├── common
│ ├── include
│ │ └── 存放公共库的头文件
│ └── src
│ └── 存放公共库的源文件
├── debug
│ ├── common
│ │ └── src
│ │ ├── subdir.mk
│ │ └── 存放编译输出文件.o
│ ├── Makefile
│ ├── module1
│ │ └── src
│ │ ├── subdir.mk
│ │ └── 存放编译输出文件.o
│ ├── module2
│ │ └── src
│ │ ├── subdir.mk
│ │ └── 存放编译输出文件.o
│ ├── object.mk
│ └── source.mk
├── main.c
├── module1
│ ├── include
│ │ └── 存放module1的头文件
│ └── src
│ └── 存放module1的源文件
└── module2
├── include
│ └── 存放module2的头文件
└── src
└── 存放module2的源文件