CMake实战(一)

简介: CMake和Autotools一样,都是项目构建工具。可以简单理解为,帮助我们生成Makefile,方便编译。

前言

CMake和Autotools一样,都是项目构建工具。可以简单理解为,帮助我们生成Makefile,方便编译。


使用实例

(1) 创建main.c/hello.c/hello.h文件,内容如下:

//hello.c#include<stdio.h>#include "hello.h"intprintHello(void)
{
printf("Hello,World\n");
}
//hello.h#ifndef _HELLO_H#define _HELLO_HintprintHello(void);
#endif
//main.c#include<stdio.h>#include "hello.h"intmain(void)
{
printHello();
return0;
}

(2) 创建CMakeLists.txt, 内容如下:

#cmake最低版本需求,不加入此行会受到警告信息CMAKE_MINIMUM_REQUIRED(VERSION2.6)
PROJECT(HELLO) #项目名称#把当前目录(.)下所有源文件加入变量SRC_LISTAUX_SOURCE_DIRECTORY(. SRC_LIST)
#生成应用程序 helloADD_EXECUTABLE(hello${SRC_LIST})

CMAKE_MINIMUM_REQUIRED: 限定了 CMake 的版本

PROJECT: 指定项目名

AUX_SOURCE_DIRECTORY: 添加源文件列表

ADD_EXECUTABLE: 生成应用程序


(3) 创建build目录

mkdirbuild

目录结构如下:

20210204190358231.png

创建build目录是为了让一些中间文件放到该目录,这样不会让目录很乱,当然也可以省略就是了。


(4) 使用cmake构建项目

cdbuildcmake ..     // ..表示上一个目录

如果没有安装cmake,使用下面命令安装:

sudoapt-getinstallcmake

20210204190516752.jpg

执行成功后会生成Makefile文件

20210204190549359.jpg


(5) 编译生成可执行文件

make

20210204190629907.jpg


相关文章
|
3月前
|
缓存 Unix 程序员
CMake 教程1
CMake 教程
64 1
|
5月前
|
C++ 开发者 开发工具
面向 C++ 的现代 CMake 教程(四)(2)
面向 C++ 的现代 CMake 教程(四)
66 0
|
5月前
|
缓存 C++ Windows
面向 C++ 的现代 CMake 教程(一)(2)
面向 C++ 的现代 CMake 教程(一)
133 0
|
5月前
|
C++ 容器 Docker
面向 C++ 的现代 CMake 教程(一)(1)
面向 C++ 的现代 CMake 教程(一)
130 0
|
5月前
|
缓存 存储 C++
面向 C++ 的现代 CMake 教程(一)(4)
面向 C++ 的现代 CMake 教程(一)
71 0
|
5月前
|
C++ 存储 JSON
面向 C++ 的现代 CMake 教程(五)(4)
面向 C++ 的现代 CMake 教程(五)
61 0
|
5月前
|
C++ 开发者 Unix
面向 C++ 的现代 CMake 教程(四)(5)
面向 C++ 的现代 CMake 教程(四)
53 0
|
5月前
|
C++ 缓存 Unix
面向 C++ 的现代 CMake 教程(四)(4)
面向 C++ 的现代 CMake 教程(四)
49 0
|
5月前
|
C++ 存储 索引
面向 C++ 的现代 CMake 教程(一)(5)
面向 C++ 的现代 CMake 教程(一)
94 0
|
5月前
|
C++ Unix Windows
面向 C++ 的现代 CMake 教程(四)(3)
面向 C++ 的现代 CMake 教程(四)
48 0