CMake初探
程序员文章站
2022-07-14 17:06:36
...
之前总提着跨平台,但却对Cmake这强大的工具没怎么使用过,第一次正儿八经使用,记录一下,打打基础。
一、CMake简介(来自互联网):
CMake 是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的 Makefile 或者 project 文件,CMake 并不直接建构出最终的软件,而是产生标准的建构档(如 Makefile 或 projects)。例如,在windows上执行cmake可以生成vc++工程,再unix下执行cmake可以生成makefile文件,之后分别用vs构建以及make就可以生成不同平台的二进制文件,是一个很强大的交叉编译工具。
二、从hello cmake讲使用方法
cmake project中的一个重要文件就是CMakeLists.txt,它有非常多的语法,最简单的如下:
cmake_minimum_required(VERSION 2.8.9) 表示需要的最低cmake版本
project (hello) 工程名,可以随意
add_executable(hello hello.cpp) 指定编译一个可执行文件,hello是第一个参数,表示生成可执行文件的文件名(这个文件名也是任意的),第二个参数hello.cpp则用于指定源文件。
源文件:
#include <iostream>
using namespace std;
int main()
{
cout<<"hello cmake"<<endl;
return;
}
三、执行命令
mkdir build //创建一个目录,生成的文件放在这里不至于污染源文件
cd build
cmake .. //cmake的目标是我们写的CMakeLists.txt,所以指向上一层
此时,如果是win则在build中便生成了vs的sln,如下图:
在vs中就可以打开工程了,然后在自行编译。
如果是unix,则会生成makefile文件,执行make,便可以生成可执行文件。
四、多文件项目(单文件夹)
比如demo文件夹下有main.cpp、hello.cpp、hello.h,此时需要修改CMakeLists.txt,如下:
cmake_minimum_required(VERSION 2.8.9) 表示需要的最低cmake版本
project (hello) 工程名,可以随意
add_executable(hello mian.cpp hello.cpp) 添加hello.cpp
五、总结
本文简单记录了cmake最原始最简单的使用方法,下次将要记录的是多文件夹情况下,cmake的使用。
上一篇: jCT 嵌入模板简化方案
下一篇: 用python爬取历史天气数据
推荐阅读
-
初探css3_html/css_WEB-ITnose
-
图片识别工具Tesseract初探
-
cmake ios终端下执行提示错误 iOS version not found, tested: [5.0;5.1;6.0;6.1;7.0;8.3]的解决方案
-
C# 通过反射初探ORM框架的实现原理(详解)
-
详解Android studio ndk配置cmake开发native C
-
cmake ios终端下执行提示错误 iOS version not found, tested: [5.0;5.1;6.0;6.1;7.0;8.3]的解决方案
-
C#之CLR内存原理初探
-
python装饰器初探(推荐)
-
C# 通过反射初探ORM框架的实现原理(详解)
-
JSP安全性初探