CMake项目的完整构建
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等等),一旦熟练掌握,它们将成为你手中的利器。