C++系列-附录-windows下安装C++环境

简介: C++系列-附录-windows下安装C++环境

C++系列-附录-windows下安装C++环境

在线练习:

http://noi.openjudge.cn/

https://www.luogu.com.cn/

参考

Windows搭建C++编程环境(VSCode+Mingw-w64)

C++编译器有哪些

MSYS2 介绍、下载与安装、Pacman常用命令

C++编译器简介

常见的C++编译器

C++编译器是将C++源代码翻译成可执行程序的工具。以下是一些常见的C++编译器:

GCC(GNU Compiler Collection):GCC 是一个开源的编译器套件,包含了用于编译C、C++和其他语言的编译器。它是一个非常流行的编译器,可在多个平台上使用,包括Linux、Mac OS X和Windows。GCC使用G++来编译C++代码。

Clang:Clang 是一个基于LLVM的编译器前端,支持C、C++和Objective-C。它具有高度的兼容性、优秀的错误诊断能力和快速的编译速度。Clang在许多平台上可用,并被广泛应用于开发工具和IDE中。

Visual C++:Visual C++ 是微软公司开发的C++编译器。它是Windows平台上的主要C++编译器,与Visual Studio集成,提供了丰富的开发工具和调试功能。

Intel C++ Compiler:Intel C++ Compiler 是英特尔公司提供的优化C++编译器。它针对英特尔处理器进行了优化,可以生成高度优化的代码,并提供了一些高级优化技术,如向量化和多线程支持。

IBM XL C++:IBM XL C++ 是IBM公司提供的C++编译器。它主要用于IBM Power 和IBM System z平台,支持标准的C++语言规范,并提供了一些针对这些平台的优化特性。

除了上述列举的编译器之外,还有许多其他的C++编译器可供选择,包括TDM-GCC、MinGW等。选择适合自己需求的编译器取决于操作系统、平台、性能需求和个人偏好等因素。

常见的C++ 编译器的命令示例

以下是上述几个常见的 C++ 编译器的命令示例:

GCC(G++):

g++ my_program.cpp -o my_program

这个命令使用 g++ 编译器来编译名为 my_program.cpp 的源文件,并将生成的可执行文件命名为 my_program。

Clang:

clang++ my_program.cpp -o my_program

这个命令使用 clang++ 编译器来编译名为 my_program.cpp 的源文件,并将生成的可执行文件命名为 my_program。

Visual C++:

cl /EHsc my_program.cpp

这个命令使用 cl 命令来调用 Visual C++ 编译器,编译名为 my_program.cpp 的源文件,并生成可执行文件。

Intel C++ Compiler:

icpc my_program.cpp -o my_program

这个命令使用 icpc 编译器来编译名为 my_program.cpp 的源文件,并将生成的可执行文件命名为 my_program。

IBM XL C++:

xlC my_program.cpp -o my_program

这个命令使用 xlC 编译器来编译名为 my_program.cpp 的源文件,并将生成的可执行文件命名为 my_program。

请注意,以上示例中的命令只是一些简单的编译示例,并可能需要根据实际情况进行适当调整。每个编译器的命令行选项和用法可能会有所不同,请参考相应编译器的文档或使用相应的帮助命令来获取详细的信息和用法。

MinGW

MinGW(Minimalist GNU for Windows)是一套在Windows上使用GCC工具链的开发工具集合。它提供了一系列命令来编译和构建C++程序。以下是一些常见的MinGW命令示例:

编译单个源文件:

g++ my_program.cpp -o my_program

这个命令使用g++编译器编译名为my_program.cpp的源文件,并将生成的可执行文件命名为my_program。

编译多个源文件并链接:

g++ file1.cpp file2.cpp -o my_program

这个命令使用g++编译器分别编译名为file1.cpp和file2.cpp的源文件,然后将它们链接在一起生成可执行文件my_program。

指定头文件和库文件的路径:

g++ main.cpp -o my_program -I include_directory -L lib_directory -l my_library

这个命令使用g++编译器编译名为main.cpp的源文件,并将生成的可执行文件命名为my_program。使用-I选项指定包含头文件的目录,-L选项指定包含库文件的目录,-l选项指定要链接的库文件。

生成调试信息:

g++ my_program.cpp -o my_program -g

这个命令使用g++编译器编译名为my_program.cpp的源文件,并将生成的可执行文件命名为my_program。使用-g选项生成调试信息,以便在调试时使用。

这些命令示例展示了在MinGW环境下使用g++编译器的一些常见用法。请注意,具体的命令选项和用法可能会因MinGW版本和个人设置而有所不同。您可以参考MinGW的文档或使用g++ --help命令来获取更详细的信息和用法。

为什么MinGW的命令和GCC一样

MinGW 是一个在 Windows 平台上使用 GCC 工具链的开发工具集合。它提供了 GCC 编译器套件的 Windows 版本,并通过命令行界面(CLI)提供与 GCC 类似的命令和选项。

MinGW 的目标是在 Windows 环境中提供一个开发环境,使开发者能够使用 GCC 编译器来编译和构建 C++ 程序。为了实现这一目标,MinGW 采用了 GCC 的命令行界面和选项。这样,开发者可以直接在 Windows 命令提示符或其他终端中使用熟悉的 GCC 命令来进行编译和构建操作,而无需学习新的命令和选项。

因此,MinGW 的命令与 GCC 的命令是相似的,因为 MinGW 实际上是使用了 GCC 的工具链和命令行界面。这使得在 Windows 环境中进行 C++ 开发时,可以直接迁移和使用熟悉的 GCC 命令,而无需额外学习其他特定于 Windows 的工具和命令。

需要注意的是,虽然 MinGW 命令和 GCC 命令在语法和选项上非常相似,但在一些特定情况下可能会有一些差异。这可能是因为 MinGW 在 Windows 环境中提供了一些特定的功能、适配了 Windows 平台的特性,或者在 MinGW 版本之间存在一些微小的差异。因此,在使用 MinGW 命令时,仍然建议参考 MinGW 的文档和资源,以确保正确理解和使用命令的特定行为和选项。

MSYS2 对比 MinGW-w64 对比 Cygwin

MSYS2是一个包含MinGW-w64工具链、GNU工具集和一些开源库的平台,它提供了一种在Windows上编译和运行Unix/Linux程序的方式。MSYS2与MinGW-w64相似,但比MinGW-w64更完整和稳定,提供了Pacman包管理器以方便用户安装和管理软件包。

下载地址:https://www.msys2.org/

MinGW-w64是一个Windows下的C/C++编程工具集,它提供了运行在Windows上的GNU工具集和GCC编译器。MinGW-w64与MSYS2类似,但主要用于编译Windows本地应用程序,而非Unix/Linux程序。MinGW-w64也可以用于交叉编译,为其他平台生成Windows可执行文件。

下载地址:https://www.mingw-w64.org/

Cygwin是一个在Windows平台上运行的兼容性层,提供了类Unix环境的工具和开发库。Cygwin将Unix程序编译为Windows本地代码,然后在Windows上运行。它提供了最完整的Linux/Unix环境,但相对于MSYS2和MinGW-w64,Cygwin的性能较差。

因此,MSYS2适用于需要在Windows上编译和运行Unix/Linux程序的场景,MinGW-w64适用于编译Windows本地应用程序的场景,Cygwin适用于需要最完整的Linux/Unix环境的场景。

下载C++环境

下载

下载安装编译器msys2

下载方式1:

参考网页:https://www.msys2.org/

在网页中点击下载链接,下载的文件如下

下载方式2:

也可以在msys2中央仓库下载,https://repo.msys2.org/distrib/

安装MSYS2

按步骤安装完成,

双击文件,开始安装

本文路径使用D:\Mingw\W64\

设置开始菜单

下一步安装

安装完成,运行向导

安装gcc

点击

更新msys2

pacman -Sy

安装gcc

pacman -Su gcc

出现"Proceed with installation? [Y/n]" 输入y回车就行。

同样的方法可以安装cmake,不赘述。

打开MSYS的终端并输入

pacman -S mingw-w64-ucrt-x86_64-gcc

确认输入 y ,安装完成之后安装 Mingw-w64 工具链,指令如下

pacman -S --needed base-devel mingw-w64-x86_64-toolchain
1

添加环境变量

使用以下步骤将 Mingw-w64 文件夹的路径添加到 Windows 环境变量:

打开Windows设置。
搜索系统 -> 关于 -> 高级系统设置 -> 环境变量
在系统变量中选择Path
选择新建并将 Mingw-w64 目标文件夹路径添加到系统路径。确切的路径取决于您安装的 Mingw-w64 版本及其安装位置。如果使用上述设置安装 Mingw-w64,请将其添加到路径:D:\Mingw\W64\mingw64\bin。或者选择编辑然后浏览找到该文件夹自动添加(注意不要直接浏览,容易替换原先的环境变量。先选择空行再浏览)
选择确定以保存更新的路径。需要重新打开任何控制台窗口才能使用新的 PATH 位置

可以打开 Mingw-w64 终端分别输入如下指令检查是否正确安装

gcc --version

g++ --version

gdb --version

总结

本文是C++系列博客,主要介绍了windows下的C++环境安装

相关文章
|
4天前
|
弹性计算 开发框架 安全
基于云效 Windows 构建环境和 Nuget 制品仓库进行 .Net 应用开发
本文将基于云效 Flow 流水线 Windows 构建环境和云效 Packages Nuget 制品仓库手把手教你如何开发并部署一个 .NET 应用,从环境搭建到实战应用发布的详细教程,帮助你掌握 .NET 开发的核心技能。
|
16天前
|
机器学习/深度学习 并行计算 异构计算
WINDOWS安装eiseg遇到的问题和解决方法
通过本文的详细步骤和问题解决方法,希望能帮助你顺利在 Windows 系统上安装和运行 EISeg。
38 2
|
24天前
|
网络安全 Windows
Windows server 2012R2系统安装远程桌面服务后无法多用户同时登录是什么原因?
【11月更文挑战第15天】本文介绍了在Windows Server 2012 R2中遇到的多用户无法同时登录远程桌面的问题及其解决方法,包括许可模式限制、组策略配置问题、远程桌面服务配置错误以及网络和防火墙问题四个方面的原因分析及对应的解决方案。
|
25天前
|
NoSQL Linux PHP
如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤
本文介绍了如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤。接着,对比了两种常用的 PHP Redis 客户端扩展:PhpRedis 和 Predis,详细说明了它们的安装方法及优缺点。最后,提供了使用 PhpRedis 和 Predis 在 PHP 中连接 Redis 服务器及进行字符串、列表、集合和哈希等数据类型的基本操作示例。
49 4
|
26天前
|
Dart 搜索推荐 IDE
Windows下Zed编辑器配置Dart环境
本文介绍了Dart编程语言及其主要框架Flutter的优势,并推荐使用轻量级编辑器Zed进行Dart开发。详细步骤包括Dart环境的安装与配置,Zed编辑器的安装与个性化设置,以及如何在Zed中编写并运行Dart的HelloWorld程序。通过自定义任务实现Dart文件的快速运行,提高了开发效率。
|
2月前
|
编译器 C语言 C++
配置C++的学习环境
【10月更文挑战第18天】如果想要学习C++语言,那就需要配置必要的环境和相关的软件,才可以帮助自己更好的掌握语法知识。 一、本地环境设置 如果您想要设置 C++ 语言环境,您需要确保电脑上有以下两款可用的软件,文本编辑器和 C++ 编译器。 二、文本编辑器 通过编辑器创建的文件通常称为源文件,源文件包含程序源代码。 C++ 程序的源文件通常使用扩展名 .cpp、.cp 或 .c。 在开始编程之前,请确保您有一个文本编辑器,且有足够的经验来编写一个计算机程序,然后把它保存在一个文件中,编译并执行它。 Visual Studio Code:虽然它是一个通用的文本编辑器,但它有很多插
|
2月前
|
数据安全/隐私保护 Windows
安装 Windows Server 2019
安装 Windows Server 2019
|
2月前
|
Windows
安装 Windows Server 2003
安装 Windows Server 2003
|
2月前
|
Linux 网络安全 虚拟化
适用于Linux的Windows子系统(WSL1)的安装与使用记录
并放到启动文件夹,就可以开机自动启动了。
69 0
|
19天前
|
存储 编译器 C语言
【c++丨STL】string类的使用
本文介绍了C++中`string`类的基本概念及其主要接口。`string`类在C++标准库中扮演着重要角色,它提供了比C语言中字符串处理函数更丰富、安全和便捷的功能。文章详细讲解了`string`类的构造函数、赋值运算符、容量管理接口、元素访问及遍历方法、字符串修改操作、字符串运算接口、常量成员和非成员函数等内容。通过实例演示了如何使用这些接口进行字符串的创建、修改、查找和比较等操作,帮助读者更好地理解和掌握`string`类的应用。
29 2