c++项目目录

412 阅读2分钟

参考:github.com/ljsf/cmake_… 参考:blog.csdn.net/tiny008/art… bin 目录为编译生成的可执行程序

build 为cmake生成中间缓存路径

lib为库存放路径

src为源码存放路径

test为测试demo存放路径

CMakeLists.txt为全局文件,指定整个全局依赖的头文件和库文件路径

2.整个工程可以参考下面github地址,即可简单完成linux下c++的cmake工程构建:

参考:www.cnblogs.com/rednodel/p/… Linux下的CMake项目通常由几个文件夹组成。小伙伴们可以先在自己的电脑上新建一个文件夹,作为你代码的根目录,然后往里面建几个子文件夹,这里并不涉及具体的代码,只是可以作为今后写代码的模板,万事开头难嘛!

子文件1:bin

用来放编译好的可执行二进制文件,二进制文件就是可以直接运行的程序

子文件2:src

用来放源代码

子文件3:lib

用来放编译好的库文件夹,库文件是为二进制提供函数

子文件4:include

用来放头文件

CMakeLists.txt

既然是CMake项目肯定得有CMakeLists.txt

最后还有LICENSE和README.md

为什么要使用这种目录结构呢?这其实是一种编译习惯,当然也可以把所有的文件都放在一个目录里。在工程量比较小的情况下,这种方式可能显的很繁琐,之前在CMake实践1中也讲到过CMake编译是分内部编译和外部编译两种的,如果工程量很小,可以是内部编译。但是,为了养成良好的编译风格,增加代码的可读性,我们通常还是采用的外部编译方式,即建一个build文件夹,在里面进行编译。上面分为子文件的方式也是这样的,也是为了增加代码可读性,把整个工程整理的很清楚。 O(∩_∩)O

在linux下,开发工具被切割成一个个独立的小工具。各自处理不同的问题。例如:

编辑器(emacs, vim) 用来进行编辑程序的 调试器(gdb) 用来调试程序 编译器(GCC) 用来编译和链接程序的 性能分析工具(gcov, gprof) 用来优化程序的 文档生成器(doxygen) 用来生成文档的

同时,还有一些系统工具和系统知识,我们是很有必要了解的:程序自动化机制 makefile,系统粘合剂shell,系统查找工具grep, locate, find。其它的工具(例如ctags, OCI公司的MPC等等),一旦熟练掌握,它们将成为你手中的利器。