想学习cmake,基于惯性思维,想先跑通一个“hello world”的例子,奈何网上教程一大把,有用的教程破费功夫寻找。大部分教程都没有从新电脑(重装系统后的电脑)的角度讲述步骤。
为了得到干净的电脑环境,研究了一段时间VMware虚拟机,并写了几篇文章,感兴趣的读者可移步阅读:
VMware虚拟机安装win10系统教程: VMware虚拟机安装win10系统教程_西晋的no1的博客-CSDN博客
经过几天的努力将cmake的“hello world”整个步骤从新电脑(重装系统后的电脑,基于VMware虚拟机)的角度跑通了,并将下述过程记录进行了验证,结果是可行的。
下述内容有些来自于其他博客,由于资料查询的比较多,无法对应出处,故不单列出处了,在此对引用内容的作者们表示感谢。
一、Cmake 介绍
CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件。只是 CMake 的组态档取名为 CMakeLists.txt。Cmake 并不直接建构出最终的软件,而是产生标准的建构档(如 Unix 的 Makefile 或 Windows Visual C++ 的 projects/workspaces),然后再依一般的建构方式使用。
二、下载安装Cmake,配置环境变量,检验安装是否正常
1.下载Cmake
下载地址: Download | CMake
点击链接进入cmake官网下载网页,下载最新稳定版即可(Latest Release)
我这里下载的是cmake-3.26.4-windows-x86_64.msi(PS: 根据个人电脑windows系统位数下载对应的版本)
若不想安装,可直接下载压缩包版本cmake-3.26.4-windows-x86_64.zip。
2.安装cmake,配置环境变量
CMake的安装非常简单。压缩包版本直接解压即可,安装版本也可一直点击下一步进行安装。为了使用方便,可将CMake配置到环境变量中,当然,这一步也可以在安装过程中设置。另外需要注意的是为了避免不必要的麻烦,路径中最好不要包括中文字符。下面简单描述一下安装过程。
1.双击下载的安装包,进入安装界面,点击[Next]。
2.勾选同意许可后,点击[Next]。
3.可在此处选择将CMake路径添加到环境变量中,并且创建CMake GUI程序的桌面快捷方式。然后点击[Next]。
4.可在此处自定义安装目录,设置好后点击[Next]。
5.开始安装,安装完成后点击[Next]。
6.安装完成,点击[Finish],结束安装过程。
3.检验安装是否正常
安装完成后,即可使用CMake了。在命令行中输入"cmake --version",可看到如下图所示的输出。
三、下载安装MinGW,配置环境变量,检验安装是否正常
cmake并不能完成整个工程的编译,cmake会输出makefile文件,我们需要用这个生成makefile进行make编译。那就需要在windows环境中安装MinGW。
1.下载MinGW
到页面: MinGW-w64 - for 32 and 64 bit Windows - Browse Files at SourceForge.net 下载离线安装包
我下载了x86_64-posix-sjlj的压缩包。
2.安装MinGW
将下载下来的x86_64-posix-sjlj压缩包解压缩便得到了mingw64。
可以看到,这个是可以直接用的版本了
3.配置环境变量
直接将/bin路径添加到环境变量中即可。
在命令行下,g++\gcc命令有效
由于我们需要在window下直接输入make,就可以识别makefile并且自动编译,可以将MinGW安装路径bin文件下的mingw32-make.exe重命名为make.exe。
4.检验安装是否正常
打开cmd输入make -version,出现如下信息表示安装成功。
四、使用Cmake编译一个简单的小工程
新建一个目录,在该目录中新建两个文件CMakeLists.txt和hello_cmake.c,两个文件内容如下:
CMakeLists.txt
cmake_minimum_required(VERSION 3.0)
project (hello_cmake)
add_executable(hello_cmake hello_cmake.c)
第一行代码指定了构建项目所需的最低CMake版本;
第二行指定了工程的名字,随后输出的exe可执行文件也会和它同一个名称;
第三行表示项目需要构建一个exe可执行文件,并且它由main.cpp编译而成;
hello_cmake.c
#include <stdio.h>
int main(int argc, char *argv[])
{
printf("Hello CMake!\n");
getchar();
return 0;
}
打开cmd进入当前目录,输入如下命令行。
mkdir build
cd build
cmake -G "MinGW Makefiles" ..
make
hello_cmake.exe
如下图所示: