cmake_learn

bash: cmake: 未找到命令...
决定代码的组织方式及其编译方式,也是程序设计的一部分。。因此,我们需要cmake和autotools这样的工具来帮助我们构建并维护项目代码。

其实,cmake和autotools正是makefile的上层工具,它们的目的正是为了产生可移植的makefile,并简化自己动手写makefile时的巨大工作量。

对于大多数项目,应当考虑使用更自动化一些的 cmake或者autotools来生成makefile,而不是上来就动手编写。

这里只给出cmake的一些主要特点:
1.开放源代码,使用类 BSD 许可发布。
2.跨平台,并可生成 native 编译配置文件,在 Linux/Unix 平台,生成 makefile,在 苹果平台,可以生成 xcode,在 Windows 平台,可以生成 MSVC 的工程文件。
3.能够管理大型项目,KDE4 就是最好的证明。
4.简化编译构建过程和编译过程。Cmake 的工具链非常简单:cmake+make。
5.高效率,按照 KDE 官方说法,CMake 构建 KDE4 的 kdelibs 要比使用 autotools 来 构建 KDE3.5.6 的 kdelibs 快 40%,主要是因为 Cmake 在工具链中没有 libtool。
6.可扩展,可以为 cmake 编写特定功能的模块,扩充 cmake 功能。

 

https://cmake.org/download/ 下载cmake包

.将下载的安装包放到 /usr路径

tar -xvzf cmake.tar.gz

cd cmake-3.10.1/

./bootstrap

gmake install

 

安装完成

cmake -help

came的使用:

创建工程目录:my_project

cd my_project

mkdir bin、lib、src、include和build目录。这几个目录依次用于放置C++可执行文件、生成的链接库、源文件、头文件和编译生成的文件。当然,还需要创建一个CMakeLists.txt文件用于编译整个工程。

创建 *.cpp 或者 *.c 文件
文件内容:

cmake_mininum_required(VERSION 2.8)
project(hello)
add_excutable(hello hello.c)


project指令会自动创建两个变量:
<projectname>_BINARY_DIR  (binary file save path)    
<projectname>_SOURCE_DIR(source  code save path)
创建的这两个变量,分别与系统中的PROJECT_BINARY_DIR和PROJECT_SOURCE_DIR值相等;

创建build文件夹 进入build 执行cmake ..

生成Makefile 执行make

posted @ 2019-06-20 00:16  countryboy666  阅读(160)  评论(0编辑  收藏  举报