现在的位置: 首页 > 自动控制 > 工业·编程 > 正文

CMake的简介、安装以及基本的使用

2019-08-05 06:26 工业·编程 ⁄ 共 1691字 ⁄ 字号 暂无评论

CMake简介

CMake是一个工具,可以帮助我们实现跨平台开发的工具,在实际开发中可以发挥重要的作用。

我们先图解一下CMake的作用:

假如我们现在有一个在不同平台都有共享代码的C++的工程,这些平台分别是:Windows、OSX、Linux,在这些平台使用的IDE分别是:Visual Studio、Xcode,现在有一份公共的代码:one.cpp,已经部署在三个平台上。

wps1

现在,我们需要新加一个 bar.cpp,正常来说,我们需要在每一个平台下面按照相应的规则添加这个bar.cpp,这个过程是需要我们手动去完成,比较繁琐,而且容易出错。

而CMake帮我们完成的事情就是将这些工程中的配置进行一个统一的管理,如下图:

wps2

CMake读取到工程中的改变,就会对每一个工程进行相应的更改。

那么,CMake是怎么读取到工程中有改变呢?是通过一个文件:CMakeLists.txt,这个文件的名字是固定的,更改之后,CMake就识别不出来这个文件了。

这个CMake使用的这个CMakeLists.txt文件里面就是工程里面的配置项,CMake使用的语言是独立于任何平台的,也就是和平台没有什么关系。

CMake的安装

CMake的介绍之后,就是要我们来安装CMake,这是CMake官网:https://cmake.org/download/

进入官网之后,我们下载二进制分布里面的最新文件,源文件是需要我们自己编译,有点恶心,所以我们直接下载二进制文件,也就是已经编译好的版本。

wps3

安装的时候我们可以把CMake放在环境变量中:

wps4

安装完成之后就可以使用CMake的GUI界面了:

wps5

CMake的使用

使用GUI界面来使用CMake

一、首先我们应该在该平台下面有一个工程,我们起名为:CMakeTest.cpp

使用VS创建一个CMakeTest的工程起名字为:CMakeTest.cpp

#include <iostream>

int main(int argc, char* argv)

{

std::cout << "This is a project for test CMakeTest" << std::endl;

return 0;

}

代码很简单,目的是熟悉流程,

工程建立完成我们就应该写我们的CMakeLists.txt文件了,文件名必须是:CMakeLists.txt,且文件应该和我们建立的.cpp文件在一个文件目录里面,在这个工程里面也就是得和CMakeTest.cpp在一个文件夹。

CMakeLists.txt里面的内容如下,指令可以大概了解一下,之后可以系统的去学习这些指令

#CMakeLists.txt

#每个CMakeLists里面开始都要加,这是这个版本CMakeLists的版本号

cmake_minimum_required(VERSION 2.8)

#项目声明,每个平台的解决方案都有自己的名称,VS是:CMakeLists.sln,Xcode是:CMakeLists.xcodeproj

project(CMakeTest)

#添加可执行文件CMakeLists 和源cpp

add_executable(CMakeTest CMakeTest.cpp)

CMakeLists.txt文件建立好之后,之后我们打开CMake的GUI界面,

输入刚才我们建立的CMakeLists.txt文件的目录,以及我们要输出的目录,输出的目录里面就是存放我们新生成的工程文件的配置等。

wps6

接着我们点击:“Configure”

wps7

点击之后会弹出窗口,让我们选择版本:

wps8

这里我选择VS2017版本,然后点击“Finish”,然后他就会生成我们的工程的配置文件,窗口会爆红,但是不影响,因为是第一次设置,红色只是醒目的提醒你一下。

完成之后会有:“Configuring done”提示,如果此时没有Configuring done,可能是CMakeLists有问题

wps9

然后,我们点击:"Generate",这个将为我们生成sln解决方案,执行成功之后,将会显示:“Generating done”

wps10

接着,我们打开刚才输出文件的目录,此时工程的配置文件以及sln解决方案就会在文件夹里面了。

wps11

给我留言

留言无头像?