美文网首页
CMake教程(2):构建和运行

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

作者: MemetGhini | 来源:发表于2021-11-07 23:50 被阅读0次

最基本的从源代码构建可执行文件的项目只需要三行的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 后面要打印的目录层级。

相关文章

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

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

  • CMake入门(一)

    Written with StackEdit. CMake是什么 CMake是一个opensource的软件项目构...

  • C/C++项目开发编译

    vscode + 插件 C/C++ Cmake : cmake教程 Cmake Tools Remote Deve...

  • ios cmake

    参考cmake 官方教程[https://cmake.org/cmake/help/latest/guide/tu...

  • CMake学习小结--变量

    CMake学习小结 参考资料 CGold的Cmake教程 -- 这个教程很新: https://cgold.rea...

  • CMake官方文档翻译(1) CMake教程 Step by S

    CMake 教程 Step by Step 本教程涉及的源码可在CMake源码的Help/guide/tutori...

  • CMake官方教程

    CMake官方教程 CMake教程提供了逐步指南,涵盖了CMake可以解决的常见构建系统问题。了解示例项目中各个主...

  • macos安装LightGBM

    1、先通过brew安装 cmake、gcc 2、再make安装LightGBM: 3、pip安装构刚才构建好的文件...

  • 2 开始使用grpc

    1 服务定义 2 实现 3 构建和运行

  • Cmake语法浅析

    什么是CMake 在Android2.2及以上版本,构建原生库的默认工具是CMake。 CMake是一个跨平台的构...

网友评论

      本文标题:CMake教程(2):构建和运行

      本文链接:https://www.haomeiwen.com/subject/jzgyzltx.html