在学习 CMake 之前,我们先要去官网把它下载下来。
CMake官网
因为我们要编写的是 C/C++ 程序,所以还需要下载 MinGW
(如果已经下载了那就不用了)。
MinGW下载
前两个也就是 p o s i x posix posix 是 适用于Linux
的;
后两个也就是 w i n 32 win32 win32 才是适用于 Windows
的;sjlj
表示系统是 32 位的,seh
表示系统是 64 位的;
最后选择 x86_64-win32-seh
的下载。
下载结束之后,分别把 CMake
和 MinGW
的 bin
目录都加到环境变量中:
我这里的 MinGW
是我之前下载好的,所以就不再重新下载了。
接下来验证环境变量是否配置成功。
我们通过写一个小 demo,初步认识 CMake。
1.首先在桌面建一个文件夹 demo
,在这个 demo
文件加里面再新建两个子文件加,分别是 src
和 build
。
2.在 src
文件夹下,编写两个文件 main.cpp
和 CMakeLists.txt
。
main.cpp
#include
using namespace std;
int main(){
cout<<"Hello World!!!"<<endl;
return 0;
}
CMakeLists.txt
#设置项目所能接受的 CMake 的最低版本
cmake_minimum_required(VERSION 3.10)
#项目名
project(demo)
#执行的模块
add_executable(demo main.cpp)
3.指定编译器 MinGW
编译。
我们可以通过使用 cmake --help
命令查看帮助:
我们发现 CMake
默认的编译器并非是 MinGW
,所以我们还需要手动指定。
第二个才是我们想要的。
我们进入到 src\build
文件夹下,打开 cmd
。
输入命令 cmake -G "MinGW Makefiles" ..\src
,通过指定编译器 MinGw
完成编译:
cmake -G "MinGW Makefiles" ..\src
出现这些说明该命令执行成功了,此时我们再打开 src\build
文件夹,会发现多了一些文件:
接着我们再通过 cmake --build .
完成项目的构建,.
表示当前目录。
cmake --build .
出现这个情况说明执行成功;此时我们再观察 src\build
文件夹下面,发现有了 demo.exe
文件。
4.运行
接着我们再运行 demo.exe
文件:
demo.exe
运行成功!
如果我们在进行到上面第 3 步操作的时候,执行 cmake -G "MinGW Makefiles" ..\src
命令时出现如下报错:
错误:CMake Error: CMake was unable to find a build program corresponding to "MinGW Makefiles". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool. CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage -- Configuring incomplete, errors occurred!
说明你的 MinGW
的 bin
目录下面缺少一个文件:mingw32-make.exe
解决方法就是把这个文件复制到 MinGW
的 bin
目录下即可。
因为我的电脑是下载了 Qt
和 Clion
的,正好有这个文件。
接着再把 build
文件夹下面清空,重新执行该命令。
本篇博客就是看了 BiliBili 的这位 UP 的视频总结出来的,建议直接看他的视频:CMake入门教程。