CMake 安装

CMake 下载

官方下载地址: https://cmake.org/download/


cmake下载页面

选择自己系统(Platform)对应的版本并下载
这里我们选择Windows win64-x64 Installer: Installer tool has changed. Uninstall CMake 3.4 or lower first!


CMake 下载完成

CMake 安装

安装时根据自己系统的安全设置,可能会出现如下对话框,不用担心,直接点击 "运行(R)"


安装时安全警告

CMake Steup

License

必须选择同意,否则不能进入下一步


安装选项
  • 是否添加环境变量,这里我们选择 "Add CMake to the system PATH for all users"
  • 是否创建桌面快捷图标,根据自身情况而定,这个只是创建桌面图标使用方便,并不会对以后的使用造成实质上的影响

安装路径

这里选择自己习惯存放程序的路径,我们这里采取默认值


安装路径

安装最后确认

经过前面的操作终于把需要配置的都配置了,下面该程序自己干活了


安装最后确认

进入安装

真正开始安装的阶段,这一阶段比较耗时,完全取决于电脑自身的配置高低,系统主要是解压文件和写磁盘


安装中

安装完成

恭喜你,终于将CMake安装完成了


安装完成页面

确认CMake安装

验证CMake是否成功安装,可以调出CMD窗口,输入cmake,瞧瞧系统会给你说什么,如果出现如下窗口,那么恭喜你没有任何问题。


CMake安装好

那么万一出现的是如下内容呢


CMake没安装好

我们一般有如下处理步骤和处理方法:

  • 1. 确认是新调出CMD窗口再进行的操作
  • 2. 我们可以手动修改系统的环境变量指定CMake的bin目录位置

系统环境变量 Path

确认如图所示内容在Path中配置,如果没有可以手动输入并确定

  • 3. 待2操作完成后可以再验证,如果解决那么恭喜,如果问题仍存在,那么需要重启系统(一般都能解决了,除非比较低的系统版本可能需要重启)

mingw

mingw 下载

这里给出64系统使用的mingw, https://sourceforge.net/projects/mingw-w64/


mingw下载完成

这里其实是下载的一个安装器,具体的安装是通过运行这个安装器来引导安装的

mingw 安装


开始运行安装器

mingw 安装选项


安装选项

这里需要做出对应的选择,当然完全默认没有任何问题,我们这里采用默认,继续安装

mingw 安装位置


安装位置选择

这里有坑,我们先入坑, 继续安装

mingw 安装中


安装中

安装器需要从网上下载所需要的文件,这一步耗时较长

mingw 安装完成


安装完成

环境变量设置

同CMake的一样,mingw安装完后自动了设置环境变量,你也可以通过运行其安装目录下的mingw-w64.bat来进入运行环境


mingw-w64.bat

验证mingw环境是否设置好,同样新调出CMD窗口,输入gcc命令,出入如下信息则表示安装没有问题,否则请参照CMake配置环境变量的方式来解决。


gcc 命令

CMake+mingw 实例

我们安装完环境后来个实例运行下吧

  • 编写源码文件
    来个宇宙最著名的程序吧
1#include <stdio.h>
2int main()
3{
4 printf("hello\n");
5 return 0;
6}
  • 编写CMake文件
1cmake_minimum_required(VERSION 3.0)
2project(Hello)
3set(SOURCE main.cpp)
4add_executable(${PROJECT_NAME} ${SOURCE})
  • 生成Make file
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程序造成的,
解决方法就是找到mingw安装目录下mingw32-make.exe拷贝一份并重命名为make.exe


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

好了,终于成功了

windows+CMake+mingw 搭建c c++开发环境的更多相关文章

  1. 使用ECLIPSE+MINGW搭建C/C++开发环境

    有个朋友要我帮忙跑一个C程序而我现在主要用java,电脑上也就没有C语言的编译和开发环境,在学习java的这段期间,接触到了Eclipse这个强大的IDE,用惯了.就为调试一个程序,去安装一个VS觉得 ...

  2. 使用 Laragon 在 Windows 中快速搭建 Laravel 本地开发环境 (转)

    laravel学院 简介 对于那些使用 Windows 操作系统的同学来说,Homestead 和 LaraDock 虽说支持 Windows 系统,但是对初学者来说,安装配置起来还是有一定复杂度的, ...

  3. windows下一步到位搭建pycharm的开发环境

    pycharm的开发环境主要涉及到以下三个方面 pycharm的激活 这里采用破解的方式来达到永久激活的目的,因为激活码用着用着就过期的你,会发现不厌其烦的 通过测试,这个破解包适用于2017-201 ...

  4. Windows下使用 Sublime Text + MinGW 搭建C/C++开发环境

    下载并安装 Sublime Text 点击此处从官网下载适合自己的Windows系统的Sublime Text 下载好后双击进行安装(一路next就好啦) 下载 MinGW 点击此处下载MinGW 下 ...

  5. 「C语言」在Windows平台搭建C语言开发环境的多种方式

    新接触C语言,如何在Windows下进行C语言开发环境的搭建值得思考并整理. 以下多种开发方式择一即可(DEV C++无须环境准备). 注:本文知识来源于  Windows 平台搭建C语言集成开发环境 ...

  6. WINDOWS 下搭建 OC 集成开发环境

    Objective-C是苹果软件的编程语言,想要上机学习.调试,有一个集成开发环境(IDE)方便很多.有三类方法搭建Objective-C的集成开发环境: 1)   使用苹果的平台,集成开发环境使用X ...

  7. Windows下搭建Android NDK开发环境及命令行编译

    首先说明本文内的相关安装操作参考<Pro Android C++ with the NDK>一书. 安装 Windows搭建Android NDK开发环境需要安装如下部分(同时需要配置对应 ...

  8. 干货分享:在Windows下使用Visual Studio搭建C语言开发环境

    前言:本文将教大家如何使用 VIsual Studio Code 搭建 C 语言开发环境,包括使用 VS Code 如何编译和调试 C 语言程序,需要 用到的工具有 Visual Studio Cod ...

  9. Windows下搭建Spark+Hadoop开发环境

    Windows下搭建Spark+Hadoop开发环境需要一些工具支持. 只需要确保您的电脑已装好Java环境,那么就可以开始了. 一. 准备工作 1. 下载Hadoop2.7.1版本(写Spark和H ...

随机推荐

  1. HTML5之Canvas画正方形

    HTML5之Canvas画正方形 1.设计源码 <!DOCTYPE html> <head> <meta charset="utf-8" /> ...

  2. 通过ajax记录网站UV、PV数

    1.通过jquery记录网站UV.PV数据 util.track = { log: function () { var referrer = util.browser.getReferrer(), h ...

  3. 异常-----springmvc + ajaxfileupload解决ajax不能异步上传图片的问题。java.lang.ClassCastException: org.apache.catalina.connector.RequestFacade cannot be cast to org.springframework.web.multipart.

    说明这个问题产生的原因主要是form表单上传图片的时候必须是Content-Type:"multipart/form-data,这种格式的,但是ajax在页面不刷新的情况下去加载的时候只会把 ...

  4. visual studio 2010 Error: IntelliSense: identifier "DWORD" is undefined

    在自己工程里,添加别的工程文件时,出现改错误 解决方法 在文件前添加: using namespace std; 参考: http://www.programgo.com/article/502412 ...

  5. Centos7.2 搭建Lamp服务器以及迁移WordPress个人博客详细过程

    其实自己的博客搭了有段时间了,但是由于自己不太确定是不是一定要用wd的框架,以及实验室公网服务器的不稳定,就一直荒废着. 今天偶然间看到了腾讯云对于学生的优惠活动,毕业之前每月只要8元的云服务器(就算 ...

  6. Android动态类生成预加载-dexmaker使用

    一.dexmaker简单介绍 dexmaker是运行在Android Dalvik VM上,利用Java编写,来动态生成DEX字节码的API.如果读者了解AOP编程的话,应该听说过cglib or A ...

  7. 【NOIP2016】【CJOJ2257】2257 愤怒的小鸟

    题目 Description https://www.luogu.org/problem/show?pid=2831 Kiana最近沉迷于一款神奇的游戏无法自拔. 简单来说,这款游戏是在一个平面上进行 ...

  8. [BZOJ2743] [HEOI2012] 采花 (树状数组)

    Description 萧芸斓是Z国的公主,平时的一大爱好是采花. 今天天气晴朗,阳光明媚,公主清晨便去了皇宫中新建的花园采花.花园足够大,容纳了n朵花,花有c种颜色(用整数1-c表示),且花是排成一 ...

  9. Redis之Zset

    一.Redis之Zset简介 1. 有序集合Zset是String类型的有序集合. 2. Zset中每个元素都会关联一个double类型的分数值,redis通过分数值来为集合中所有成员进行从小到大排序 ...

  10. Java接口-----代理模式(Proxy)

    public static void main(String[] args) { // TODO Auto-generated method stub ProxySubject a = new Pro ...