CMake的简单应用

众所周知,任意一个C++程序都可以用g++来编译,但当程序规模越来越大时,一个工程可能有许多个文件夹和源文件,如果仅靠g++命令,则需要输入大量的编译指令,整个编译过程则会变得异常复杂,这时,使用一些工程管理工具则会更加高效,比如cmake,接下来将介绍一下cmake的简单应用

在一个cmake工程中,我们会用cmake命令生成一个makefile文件,然后用make命令根据这个makefile文件的内容编译整个工程

首先,在工作目录中创建一个cpp文件

/slam/ch2/helloslam.cpp

#include <iostream>
using namespace std;
int main(int argc,char **argv)
{
        cout<<"hello world"<<endl;
        system("pause");
        return 0;
}

创建一个CMakeLists.txt文件

/slam/ch2/CMakeLists.txt

#声明要求的cmake版本
cmake_minimum_required(VERSION 2.8)
#声明一个cmake工程
project(helloslam)
#添加一个可执行程序  add_executable(程序名 源代码文件名)
add_executable(helloslam helloslam.cpp)

CMakeLists.txt文件用于告诉cmake要对这个目录下的文件做什么事情,且其文件内容要遵守cmake的语法,上述文件中,演示了最基本的功能:指定一个工程名和一个可执行文件,接下来,在当前目录下,调用cmake对该工程进行cmake编译:

终端输入
:cmake . (指令后面的点不要忘记,这表示在当前目录下进行cmake)
图1
cmake会输出一些编译信息,然后在当前目录中生成一些中间文件,其中最重要的就是MakeFile,接下来,使用make命令进行编译:
图2
终端输入:
./helloslam
图三
这个过程中不足之处是,cmake生成的中间文件还在我们的代码文件中
当想要发布代码时,我们并不希望这些中间文件一同发布出去,这时我们需要把他们一个一个删除十分不便,一种更好的做法是让这些中间文件都放在一个中间目录中,编译成功后,把这个中间目录删除即可,所以,更常见的编译cmake工程的做法如下:

mkdir build
cd build
cmake ..  //此时两个点,即对上一层文件夹,也就是代码所在的文件夹进行编译

接下来进行编译运行:
图四
大功告成!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值