在Windows下使用CMake+MinGW搭建C/C++编译环境

1 工具介绍

作为一款执行效率较高的面向对象语言,C++常被用于服务端后台、平台软件的开发,而现在的服务端一般运行在Linux/Unix 环境下,对于习惯在Windows开发环境下工作的C/C++程序员,学习在Linux环境下完成编码、编译、调试可能需要较长的时间,在各位熟悉Linux开发环境下,不妨现在熟悉的Windows环境下先完成代码的编辑和编译,这时我们就需要搭建Windows下的Linux编译环境。
Windows环境下的Linux编译环境需要安装MinGW,可以粗略理解为可以运行在Windows中的Linux编译器。当我们需要编译一个多文件工程的时候,为方便起见,我们需要编写工程对应的(若干)个Makefile文件(当然可以直接使用g++依次编译多个文件并链接生成目标文件),而Makefile的编写也是需要学习的,很庆幸的是,我们有CMake工具,可以根据我们的工程结构,自动生成Makefile文件,下面我们来了解这两个工具:

1.1 MinGW

MinGW 是一个可自由使用和自由发布的Windows特定头文件和使用GNU工具集导入库的集合,允许你生成本地的Windows程序而不需要第三方C运行时库。简单说,MinGW是一个编译环境,包含了C++代码编译过程中需要的三方库、头文件……用于完成C++源码的编译、链接,类似于早期Windows下的Turbo C。现在的VisualStudio环境集成了编译、连接的功能,所以实际的编译、连接过程对开发者是不可见的,不同的是,VS使用了微软的编译器、连接器。在安装、配置MinGW后,我们就可以在命令行中通过g++命令编译、链接生成可执行文件。
这里写图片描述

1.2 CMake

CMake是一个跨平台的自动化建构系统,它使用一个名为 CMakeLists.txt 的文件来描述构建过程。CMake可以运行在Windows和Linux环境下,根据配置的编译器不同,生成符合所在操作系统的Makefile文件,在Windows下可以生成VS的工程文件系统。
在Windows下使用CMake+MinGW搭建C/C++编译环境_第1张图片

2 工具安装配置:

2.1 MinGW

2.1.1 安装

从MinGW官网(MinGW Installer)获取MinGW安装文件,双击开始安装:

  • 安装目录可以自己指定,但必须记录,以便后续配置环境变量
    在Windows下使用CMake+MinGW搭建C/C++编译环境_第2张图片

  • 安装工具开始下载需要的安装文件
    在Windows下使用CMake+MinGW搭建C/C++编译环境_第3张图片

  • “Basic Setup”中的所有包建议选择,其他的根据自己需要选择
    在Windows下使用CMake+MinGW搭建C/C++编译环境_第4张图片

  • 安装过程中,部分包可能下载失败,不用关注,等完成后再更新一次即可,如果更新也失败可换时间重试,或者等到后续用到的时候再下载。
    在Windows下使用CMake+MinGW搭建C/C++编译环境_第5张图片

2.1.2 配置

在设置Windows环境变量,在Path中增加MinGW的bin目录
在Windows下使用CMake+MinGW搭建C/C++编译环境_第6张图片

注意:
- 启动Windows命令行,执行g++ –version命令,如果能查到g++版本,则说明配置正确。
在Windows下使用CMake+MinGW搭建C/C++编译环境_第7张图片
- 如果命令执行失败,则可能是G++安装失败,或者环境变量设置不生效,可以重新安装或者重新配置环境变量后重新启动即可。

2.2 CMake

2.2.1 安装

从CMake官网(CMake Installer)取CMake安装文件,双击后开始安装:
在Windows下使用CMake+MinGW搭建C/C++编译环境_第8张图片

  • 安装过程中建议参照以下配置设置环境变量:
    在Windows下使用CMake+MinGW搭建C/C++编译环境_第9张图片

2.2.2 配置

CMake在安装过程中已经配置了环境变量,所以不需要手动配置。安装完成后,可以在命令行中执行命令cmake –version,如果安装配置正确,则会显示下列信息:
在Windows下使用CMake+MinGW搭建C/C++编译环境_第10张图片

3. 使用MinGW在Windows环境下编译C++代码并生成可执行文件:

3.1 源代码所在目录结构:

在Windows下使用CMake+MinGW搭建C/C++编译环境_第11张图片

3.2 建立CMakeList文件:

在Windows下使用CMake+MinGW搭建C/C++编译环境_第12张图片

3.3 启动GUI版CMake工具,生成Makefile:

  • 配置编译目录——源码根目录:
    在Windows下使用CMake+MinGW搭建C/C++编译环境_第13张图片
  • 点击Config按钮,配置编译器:
    在Windows下使用CMake+MinGW搭建C/C++编译环境_第14张图片
  • 点击Generate按钮,生成makefile:
    在Windows下使用CMake+MinGW搭建C/C++编译环境_第15张图片

3.4 执行Make命令,生成可执行文件:

在Windows下使用CMake+MinGW搭建C/C++编译环境_第16张图片
在Windows下使用CMake+MinGW搭建C/C++编译环境_第17张图片

4. 常见错误:

4.1 在CMake界面点击Config,提示工程文件无效:

在Windows下使用CMake+MinGW搭建C/C++编译环境_第18张图片
此时可能是CMakeList.txt不存在或者命名错误,请手动建立改文件,文件名大小写敏感,建立文件后,请重新启动CMake。

4.2 CMakeList.txt中存在语法错误:

在Windows下使用CMake+MinGW搭建C/C++编译环境_第19张图片
图示在CMakeList.txt文件第10行,文件路径使用“\”,这是不合法的,应该改成“//”

4.3 在make过程中,报“头文件找不到”错误:

在Windows下使用CMake+MinGW搭建C/C++编译环境_第20张图片
该问 题可能是引用了在MinGW中不存在的头文件。当在Window中借助VS工具开发的代码时,该问题可能较为常见。如果大家建立的工程需要在Linux 下运行,那在编码过程中,尽量避免使用Windows系统文件或者VS专有的头文件,或者通过编译宏进行区分。

Created by 王彬
在Windows下使用CMake+MinGW搭建C/C++编译环境_第21张图片

你可能感兴趣的:(C++,linux,cmake-使用,MinGW)