CMake教程(2):构建和运行

2021-11-07  本文已影响0人  MemetGhini

最基本的从源代码构建可执行文件的项目只需要三行的CMakeLists.txt文件。例如下面构建一个名为Hello的工程。

//设定所支持的CMake最小版本
cmake_minimum_required(VERSION 3.10)
//设定项目名字
project(Hello)
//添加可执行文件构建目标(代码文件)
add_executable(Hello Hello.cpp)

工程实例目录结构如下:

.
├── CMakeLists.txt
└── Hello.cpp

Hello.cpp文件内容如下,执行结果为打印Hello World!

#include <iostream>

int main() 
{
    std::cout <<"Hello world!" << std::endl;
    return 0;
}

一般不在CMakeLists.txt同级目录构建项目,否则在根目录生成很多CMake的中间文件会比较混乱。创建一个构建目录叫build

.
├── CMakeLists.txt
├── Hello.cpp
└── build

进入构建目录并通过cmake命令生成makefile,然后用make命令或者cmake --build .命令进行编译。cmake命令参数为CMakeLists.txt所在目录,本例中配置文件在上一级。

> cmake ..

执行完cmake命令后,会看到在build目录生成很多中间文件,也包括build目录下的makefile

.
├── CMakeLists.txt
├── Hello.cpp
└── build
    ├── CMakeCache.txt
    ├── CMakeFiles
    ├── Makefile
    └── cmake_install.cmake

makefile才是接下来编译的关键,直接在build目录执行make或者cmake --build .命令进行编译

> make

这时再看看build目录,会发现编译出来了一个可执行文件Hello

.
├── CMakeLists.txt
├── Hello.cpp
└── build
    ├── CMakeCache.txt
    ├── CMakeFiles
    ├── Hello
    ├── Makefile
    └── cmake_install.cmake

接下来执行可执行文件Hello

> ./Hello
Hello world!

本文中目录结构的打印用了tree命令。有需求可以通过 brew install tree进行安装,通过tree -L 2命令打印,-L 后面要打印的目录层级。

上一篇下一篇

猜你喜欢

热点阅读