官方下载地址: https://cmake.org/download/
cmake下载页面
选择自己系统(Platform)对应的版本并下载
这里我们选择Windows win64-x64 Installer: Installer tool has changed. Uninstall CMake 3.4 or lower first!
CMake 下载完成
安装时根据自己系统的安全设置,可能会出现如下对话框,不用担心,直接点击 "运行(R)"
安装时安全警告
CMake Steup
License
必须选择同意,否则不能进入下一步
安装选项
这里选择自己习惯存放程序的路径,我们这里采取默认值
安装路径
经过前面的操作终于把需要配置的都配置了,下面该程序自己干活了
安装最后确认
真正开始安装的阶段,这一阶段比较耗时,完全取决于电脑自身的配置高低,系统主要是解压文件和写磁盘
安装中
恭喜你,终于将CMake安装完成了
安装完成页面
验证CMake是否成功安装,可以调出CMD窗口,输入cmake
,瞧瞧系统会给你说什么,如果出现如下窗口,那么恭喜你没有任何问题。
CMake安装好
那么万一出现的是如下内容呢
CMake没安装好
我们一般有如下处理步骤和处理方法:
系统环境变量 Path
确认如图所示内容在Path中配置,如果没有可以手动输入并确定
这里给出64系统使用的mingw, https://sourceforge.net/projects/mingw-w64/
mingw下载完成
这里其实是下载的一个安装器,具体的安装是通过运行这个安装器来引导安装的
开始运行安装器
安装选项
这里需要做出对应的选择,当然完全默认没有任何问题,我们这里采用默认,继续安装
安装位置选择
这里有坑,我们先入坑, 继续安装
安装中
安装器需要从网上下载所需要的文件,这一步耗时较长
安装完成
同CMake的一样,mingw安装完后自动了设置环境变量,你也可以通过运行其安装目录下的mingw-w64.bat
来进入运行环境
mingw-w64.bat
验证mingw环境是否设置好,同样新调出CMD窗口,输入gcc
命令,出入如下信息则表示安装没有问题,否则请参照CMake配置环境变量的方式来解决。
gcc 命令
我们安装完环境后来个实例运行下吧
1#include
2int main()
3{
4 printf("hello\n");
5 return 0;
6}
1cmake_minimum_required(VERSION 3.0)
2project(Hello)
3set(SOURCE main.cpp)
4add_executable(${PROJECT_NAME} ${SOURCE})
1mkdir build
2cd build
3cmake -G"Unix Makefiles" ../
很不幸,这一步会出问题
1CMake Error: CMake was unable to find a build program corresponding to "Unix Makefiles". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool.
2CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
3CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
4-- Configuring incomplete, errors occurred!
5See also "D:/tmp/build/CMakeFiles/CMakeOutput.log".
意思就是不能生成Unix Makefiles,这是缺少make程序造成的,
解决方法
1、就是找到mingw安装目录下mingw32-make.exe拷贝一份并重命名为make.exe
2、从以下链接下载Windows make安装程序,安装好后将安装文件夹内的bin文件夹设置为Windows环境变量即可
make
再运行cmake -G"Unix Makefiles" ../
1$ cmake -G"Unix Makefiles" ../
2-- The C compiler identification is GNU 7.2.0
3-- The CXX compiler identification is GNU 7.2.0
4-- Check for working C compiler: C:/Program Files (x86)/mingw-w64/i686-7.2.0-posix-dwarf-rt_v5-rev1/mingw32/bin/gcc.exe
5-- Check for working C compiler: C:/Program Files (x86)/mingw-w64/i686-7.2.0-posix-dwarf-rt_v5-rev1/mingw32/bin/gcc.exe -- works
6-- Detecting C compiler ABI info
7-- Detecting C compiler ABI info - done
8-- Detecting C compile features
9-- Detecting C compile features - done
10-- Check for working CXX compiler: C:/Program Files (x86)/mingw-w64/i686-7.2.0-posix-dwarf-rt_v5-rev1/mingw32/bin/c++.exe
11-- Check for working CXX compiler: C:/Program Files (x86)/mingw-w64/i686-7.2.0-posix-dwarf-rt_v5-rev1/mingw32/bin/c++.exe -- works
12-- Detecting CXX compiler ABI info
13-- Detecting CXX compiler ABI info - done
14-- Detecting CXX compile features
15-- Detecting CXX compile features - done
16-- Configuring done
17-- Generating done
18-- Build files have been written to: D:/tmp/build
这样就对了
1make
什么,又有问题
1$ make
2/usr/bin/sh: -c: line 0: syntax error near unexpected token `('
3/usr/bin/sh: -c: line 0: `C:/Program Files (x86)/mingw-w64/i686-7.2.0-posix-dwarf-rt_v5-rev1/mingw32/bin/make -f CMakeFiles/Makefile2 all'
4make: *** [Makefile:84: all] Error 1
还记得前面我们安装mingw时说的坑吗,现在我们需要填坑了,文件就是万恶的C:/Program Files (x86)
,这也好办,将mingw-w64
文件夹复制到一个正常的目录吧,比如直接C:/mingw-w64
,然后需要修改环境变量
修改mingw环境变量
1$ make
2Scanning dependencies of target Hello
3[ 50%] Building CXX object CMakeFiles/Hello.dir/main.cpp.obj
4[100%] Linking CXX executable Hello.exe
5[100%] Built target Hello
1$ ./Hello.exe
2hello
完成
参考链接https://www.cnblogs.com/herelsp/p/8679200.html ,在此基础上有所补充