inux下安装软件的源码包很多都需要使用cmake进行编译,因此需要我们先给linux系统安装cmake
你或许听过好几种 Make 工具,例如 GNU Make ,QT 的 qmake ,微软的 MS nmake,BSD Make(pmake),Makepp,等等。这些 Make 工具遵循着不同的规范和标准,所执行的 Makefile 格式也千差万别。这样就带来了一个严峻的问题:如果软件想跨平台,必须要保证能够在不同平台编译。而如果使用上面的 Make 工具,就得为每一种标准写一次 Makefile ,这将是一件让人抓狂的工作。
CMake就是针对上面问题所设计的工具:它首先允许开发者编写一种平台无关的 CMakeList.txt 文件来定制整个编译流程,然后再根据目标用户的平台进一步生成所需的本地化 Makefile 和工程文件,如 Unix 的 Makefile 或 Windows 的 Visual Studio 工程。从而做到“Write once, run everywhere”。显然,CMake 是一个比上述几种 make 更高级的编译配置工具。一些使用 CMake 作为项目架构系统的知名开源项目有 VTK、ITK、KDE、OpenCV、OSG 等 。
在 linux 平台下使用 CMake 生成 Makefile 并编译的流程如下:
1、编写 CMake 配置文件 CMakeLists.txt 。
2、执行命令 cmake PATH 或者 ccmake PATH 生成 Makefile 1 1ccmake 和 cmake 的区别在于前者提供了一个交互式的界面。。其中, PATH 是 CMakeLists.txt 所在的目录。
3、使用 make 命令进行编译。
1.下载你要安装的cmake版本,例如我下载的是3.6.2版本。
2.解压:你下载的cmake版本到home下的一个文件夹,例如program
3.如下图所示,双击进入:你解压的cmake文件夹
4.右击:选择 打开终端
5.如下图所示,输入下面的命令行
./bootstrap && make && make install
6.如下图所示,安装成功后,输入cmake --version查看版本号
打开网址http://www.cmake.org/cmake/resources/software.html,找到最新版本的位置。
一般开放源代码软件都会有两个版本发布:
Source Distribution 是源代码版,你需要自己编译成可执行软件。
Binary Distribution是已经编译好的可执行版,直接可以拿来用的。
我现在所用的这台是64位,因此在cmake安装包的网站中选择binary distribution下的linux x86_64下的cmake-3.10.0-rc4-Linux-x86_64.tar.gz压缩包。
把下载好的包上传到指定路径,比如/junxue/ruanjian ,然后进行解压
[root@xjfw3 ~]# tar -zxvf cmake-3.10.0-rc4-Linux-x86_64.tar.gz
把解压后的cmake-3.10.0-rc4-Linux-x86_64目录该名为cmake。
[root@xjfw3 ~]# mv cmake-3.10.0-rc4-Linux-x86_64 cmake
找到export PATH=这些行,在这些行的后面添加:/ruanjian/cmake/bin,从而设置环境变量。
[root@xjfw3 ~]# vi .bash_profile
#.bash_profile
#Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
#User specific environment and startup programs
export PATH=$PATH:$HOME/ruanjian/cmake/bin
输入完毕保存
source ~/.bash_profile
备注:若要让设置的环境变量在其他页面也有效,需要重启计算机
echo $PATH
[root@xjfw3 ~]# cmake --version
cmake version 3.10.0-rc4
CMake suite maintained and supported by Kitware (kitware.com/cmake).
[root@gsxjfw3 ~]#
结果是:cmake version 3.10.0(安装cmake成功!)
1、打开Terminal(终端)
2、输入:vi ~/.bash_profile
3、o按键进入编辑
4、设置PATH:export PATH= P A T H : PATH: PATH:HOME/ruanjian/cmake/bin:
5、esc 按键停止编辑
6、shift+: 出现:后输入命令
7、输入::wq //保存并退出vi w:保存;q:退出
8、Enter按键
9、修改立即生效:source ~/.bash_profile
10、查看环境变量的值:echo $PATH
1、编写main.c,如下,
#include
int main(void)
{
printf("Hello World\n");
return 0;
}
2、然后在main.c相同目录下编写CMakeLists.txt,内容如下
cmake_minimum_required (VERSION 2.8)
project (demo)
add_executable(main main.c)
第一行意思是表示cmake的最低版本要求是2.8,我们安装的是3.10.2;
第二行是表示本工程信息,也就是工程名叫demo;
第三行表示最终要生成的elf文件的名字叫main,使用的源文件是main.c
在终端下切到main.c所在的目录下,然后输入以下命令运行cmake
cmake .
可以看到成功生成了Makefile,还有一些cmake运行时自动生成的文件。
3、然后在终端下输入make并回车
make
4、可以看到我们需要的文件main也成功生成了,然后运行main,
./main
参考
1、关于bash_profile的配置 https://www.jianshu.com/p/68c458fdb262
2、linux下安装cmake方法 https://blog.csdn.net/fxnawm/article/details/78489586
3、Linux下CMake简明教程https://blog.csdn.net/whahu1989/article/details/82078563
4、超详细的cmake教程https://blog.csdn.net/zhuiyunzhugang/article/details/88142908