安装C++
简介
Windows 版的 GCC 有三个选择:
- Cygwin
- MinGW
- mingw-w64
Cygwin、MinGW 和 mingw-w64 都是在 Windows 操作系统上运行的工具集,用于在 Windows 环境下进行开发和编译。
Cygwin 是一个在 Windows 上运行的开源项目,旨在提供类Unix环境的兼容性。它提供了一套 GNU 和开源工具,包括编译器(如 gcc)、Shell、库等。通过 Cygwin,开发者可以在 Windows 上编译和运行许多 Unix 或 Linux 上的应用程序。Cygwin 提供了对 POSIX 系统调用和 Shell 环境的支持,并提供了一套基于 Cygwin 的 DLL(动态链接库)来实现与 Windows 系统的交互。
MinGW(Minimalist GNU for Windows)是一个轻量级的开发环境,旨在提供 GNU 工具链(如 gcc、g++ 等)在Windows上的运行。MinGW 提供了一组 Windows 本地 API 的头文件和库,使开发者能够使用标准的 GCC 编译器在 Windows 上编译和运行 C 和 C++ 代码。与 Cygwin 不同,MinGW 的目标是直接使用 Windows 本地 API,而不是提供类 Unix 环境的兼容性。
mingw-w64 是 MinGW 的一个分支,它专注于支持 64 位 Windows 系统。与传统的 MinGW 只支持 32 位编译器不同,mingw-w64 提供了 64 位的 Windows 编译器和开发工具。它支持使用 GCC 编译器生成 64 位 Windows 应用程序,并提供了对 Windows API 的头文件和库的支持。mingw-w64 项目也是开源的,旨在提供免费、开放的开发环境。
总之,Cygwin 提供了类 Unix 环境的兼容性,MinGW 和 mingw-w64 则提供了在 Windows 上使用 GCC 编译器进行 C 和 C++ 开发的工具集。其中,mingw-w64 专注于 64 位 Windows 系统的支持。开发者可以根据自己的需求选择适合的工具集来进行 Windows 平台上的开发。
目前,最常用的是 mingw-w64,本文将以 mingw-w64 为例来安装 GCC。
下载
安装软件,最好的下载地方是官网。
我们在 GCC 官网可以找到不同平台版本的官网入口。
GCC, the GNU Compiler Collection- GNU Projecthttps://www.gnu.org/software/gcc/
进入到二进制下载页面可以看到 Windows 平台的三个版本。
点击 mingw-w64 进入 mingw-w64官网下面
mingw-w64 项目提供了很多 Windows 平台的工具包,这里以 w64devkit 为例,安装 C 和 C++ 编译器。大家可以根据自己的需要选择对应的工具。
按照指引,去 Github 下载即可。
安装
将下载的 w64devkit 压缩包解压后,放到任意目录即可。我这里是:D:\C++Develop\w64devkit-1.23.0\w64devkit。
解压后 w64devkit,其目录如下:
配置环境变量
要想在 Windows 命令行能够使用上述工具,需要将 w64devkit 的 bin 目录加入到环境变量 Path 中。
设置入口:开始 > 设置 > 系统 > 系统信息 > 高级系统设置 > 环境变量
。
将 w64devkit 的 bin 目录添加到用户变量或系统变量 Path,我这里加入到用系统变量 Path 中。如果想只对当前用户生效,需要加入到用户变量。
验证
打开命令行 Windows cmd 或 PowerShell,执行如下命令:
gcc -v
成功输出 gcc 版本信息,表示 gcc 安装成功。
安装CMake
简介
CMake 是一个跨平台的构建系统生成工具,用于辅助软件项目的构建过程,以下是关于它的简介:
功能特点
- 跨平台性:CMake 可以在多种操作系统上使用,如 Windows、Linux、macOS 等。它能够根据不同平台的特点生成相应的构建文件,使得项目可以在不同平台上以统一的方式进行构建。
- 简洁高效:使用简单的语法来描述项目的构建规则和依赖关系。通过编写 CMake 脚本,能够清晰地定义源文件、头文件、库文件以及编译选项等项目构建相关的信息。
- 可扩展性:支持自定义构建规则和模块,方便用户根据项目的特殊需求进行扩展。还可以与其他构建系统或工具集成,如 Ninja、Make 等,以满足不同的构建需求。
工作原理
- CMake 通过读取项目中的 CMake 脚本(通常命名为 CMakeLists.txt)来了解项目的结构和构建要求。然后,根据目标平台和用户指定的生成器(Generator),生成相应的构建文件,如 Unix 系统上的 Makefile 或 Windows 上的 Visual Studio 项目文件。最后,用户可以使用相应的构建工具根据生成的构建文件来编译和链接项目,生成可执行文件或库文件。
应用场景
- C/C++ 项目:在 C/C++ 开发中广泛应用,用于管理项目的构建过程,包括源文件的编译、库的链接、头文件的包含路径设