编译器

news/2024/11/15 23:37:49/文章来源:https://www.cnblogs.com/liudagou/p/18298180

本页面主要介绍了各系统下各类编译器/解释器的安装步骤。

GCC

Windows

手动下载安装

访问 MinGW-w64 的下载页面,有多个构建版本。方便起见,我们使用由 WinLibs 提供的构建版本。

首先前往 WinLibs 下载最新的安装包,选择合适的版本,本文选择了 GCC 12.3.0 + LLVM/Clang/LLD/LLDB 16.0.4 + MinGW-w64 11.0.0 (UCRT):

默认会附带安装 LLVM Clang,如果不想安装,你也可以选择右边的 without LLVM/Clang/LLD/LLDB。

下载好后将其解压到电脑中的某个位置,教程中将其解压到了 C 盘的根目录。目录名中最好不要包含非英文字符和空格,否则可能会在后期导致一些问题。

接下来我们需要将编译器的可执行文件目录添加到系统环境变量中,这样在编译时就不需要指定编译器的路径了,方便使用。上方我们将 MinGW 解压到了 C:\mingw64 目录中,那么可执行文件所在的目录就是 C:\mingw64\bin

按下 Windows 徽标 + R 组合键,输入 rundll32.exe sysdm.cpl,EditEnvironmentVariables,打开系统环境变量设置窗口,并在「系统变量」一节中选中名为「Path」的变量,然后点击「编辑」按钮:

在编辑窗口中点击右侧的「新建」按钮,为「Path」变量新建一个条目,并填入上文中记录下的可执行文件所在的目录(教程中为 C:\mingw64\bin)。

部分老版本系统只能手动修改变量的文本值,那么需要在变量的值的末尾插入一个 半角分号,再将可执行文件所在的目录粘贴到这个半角分号的后面,如图所示:

完成后一路点击「确定」按钮退出即可。

接下来打开终端,输入 g++ --version 并按下回车,如果出现如图所示的提示则代表安装成功。

Scoop 安装

打开 PowerShell,运行以下脚本:

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
irm get.scoop.sh | iex
scoop install mingw-winlibs

Linux

Debian/Ubuntu

首先先更新软件包列表:

sudo apt update

再使用命令直接安装即可:

sudo apt install g++

Arch Linux

使用命令直接安装即可:

sudo pacman -Syu gcc

openSUSE

使用命令直接安装即可:

sudo zypper in gcc-c++

macOS

首先更新包管理器:

brew upgrade
brew update

再使用命令直接安装即可:

brew install gcc

JDK

JDK 的发行版有很多,以下介绍两种:

  • OpenJDK 中的 Eclipse Temurin[1]:参见 Install Eclipse Temurin™ | Adoptium。
  • Oracle JDK:可参见 JDK Installation Guide(JDK 17)。

Python 3

Python 的实现也有很多[2],以 CPython 3 为例,参见 Download Python | Python.org。

LLVM

直接安装

访问 LLVM 的下载页面,选择 LLVM-*-win64.exe 下载。

如果你的网络质量不佳,你也可以选择访问 清华大学开源软件镜像站 进行下载。

打开 .exe 文件,安装时勾选 Add LLVM to system PATH for current user,随后一直点击下一步即可安装完成。

打开终端,输入 clang++ --version 并回车,出现

clang version 15.0.1
Target: x86_64-pc-windows-msvc
Thread model: posix
InstalledDir: <omitted>

类似物即代表成功。

Scoop 安装

打开 PowerShell,运行以下脚本:

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
irm get.scoop.sh | iex
scoop install llvm

Linux

openSUSE

使用命令直接安装即可:

sudo zypper in llvm clang

MSVC (Visual Studio)

访问 下载 Visual Studio 页面,找到「下载」一节中的「社区」部分,点击「免费下载」。下载完成后打开安装器选择「Community 2022 安装」。在随后弹出来的窗口中仅选择「使用 C++ 的桌面开发」,然后单击安装。

如果你不想安装完整的 Visual Studio,可以滚动到下方「所有下载」一节,在「用于 Visual Studio 的工具」中找到「Visual Studio 生成工具」,点击后方的「下载」。下载完成后打开安装器,按照提示步骤选择「使用 C++ 的桌面开发」后安装即可。也可以使用 PortableBuildTools 工具以仅安装 MSVC 编译器。


  1. Eclipse Temurin 即为原 AdoptOpenJDK,后者已于 2021 年 7 月移交至 Eclipse 基金会。具体可见 本声明。 ↩︎

  2. Alternative Python Implementations | Python.org ↩︎

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/742456.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MacOS 15 Sequoia 启用允许“任何来源”应用

MacOS 15 Sequoia 新系统中,spctl --master-disabl指令被禁用,无法启用允许“任何来源”应用程序,导致每一次安装新的应用程序,需要手动在设置中允许,十分麻烦。MacOS 15 Sequoia 启用允许“任何来源”应用 spctl 无法使用 在 MacOS 15 Sequoia Beta3 系统中 spctl 命令被…

ctfshow sql-labs(笔记)

这是当时做题的时候记得笔记有些乱看不懂的可以私我 判断闭合方式: id=1’ and 1=1–+ *正常回显* id=1’ and 1=2–+ *异常回显*id=1 and 1=1 *正常回显* id=1 and 1=2 *异常回显*id=1’) and 1=1–+ 回显正常 id=1’) and 1=2–+ 回显异常id=1") and 1=1–+ 正常回显 id…

服务器(RAID1)数据丢失恢复

服务器数据恢复是指将物理服务器或虚拟服务器上丢失的数据重现还原的操作。配备服务器方便数据集中存储管理,建立信息系统。服务器上的数据通常是存储在硬盘上,出于数据安全和性能的考虑,这些硬盘会组建RAID1磁盘阵列。服务器中的数据丢失了会带来巨大损失,所以,定期对服务…

服务器异常状态怎么解决

服务器异常状态的解决方法需要根据具体的问题和故障类型来确定。 一、硬件故障 检查电源和连接: 确保电源线没有松动或损坏。 检查电源插座是否有电。 如果服务器有多个电源单元,确保它们都在正常工作。 检查内部硬件: 检查服务器的内存条是否完全插入插槽中,并且与服务器兼…

服务器(RAID)数据丢失了如何恢复?

一、评估数据丢失情况 确认数据丢失的原因:了解数据丢失的具体原因,如硬件故障、软件问题、人为错误、病毒攻击等,有助于确定合适的恢复策略。 检查RAID状态:查看RAID控制器的状态报告,了解是否有硬盘故障、RAID级别变化或其他异常情况。 二、尝试初步恢复措施 检查备份:…

【日记】京爷居然带她孩子来这个小县城学舞……(656 字)

正文今天暴晒。太阳好得就像昨天的暴雨是假的一样。昨晚睡得晚,今早困得不行。不过还是在 11:30 的时候,趁着空隙出去把信件寄了出去。感冒还是没好的样子,还是有鼻炎,还鼻塞。鼻子里面总热热的,呼出热气,感觉不太舒服。珍的工作环境好像变得恶劣了一些,祝她好运吧。有点…

什么原因会导致raid掉阵

RAID掉阵,即RAID磁盘阵列失效或无法正常工作,可能由多种原因引起。 一、硬件故障 硬盘故障: 阵列中的硬盘出现物理故障,如电路板损坏、磁头损坏、盘面损坏、坏扇区等,会导致RAID无法正常工作。这些故障可能是由于硬盘老化、使用环境恶劣(如温度过高、湿度过大)、意外碰撞…

服务器启动时发出嘀嘀声

当服务器启动时发出嘀嘀声时,这通常是硬件自检(POST,Power-On Self-Test)过程中检测到故障或问题的信号。嘀嘀声的不同模式(如长短、间隔)通常对应着不同的故障类型。 一、识别嘀嘀声的模式 记录嘀嘀声的模式:注意嘀嘀声的长短和间隔,因为不同的组合可能代表不同的硬件…

网站生成内容页提示“Table *.phome_ecms_ doesnt exist......update ***_ecms_ set havehtml=1 wher

生成内容页提示“Table *.phome_ecms_ doesnt exist......update ***_ecms_ set havehtml=1 where id= limit 1” 原因是你修改了栏目所属系统模型导致,因为栏目原来所属系统模型本身就有信息,而你改动了所属系统模型,使得这些信息无法找出所属栏目导致出错。 解决办法:修改…

服务器磁盘阵列raid1数据恢复

服务器磁盘阵列RAID1数据恢复是一个相对复杂但可行的过程,主要基于RAID1的镜像特性。RAID1中两块硬盘互为镜像,所有数据都是完全一样的,这为数据恢复提供了便利。以下是一些RAID1数据恢复的主要步骤和注意事项: 一、数据恢复步骤 检查硬件状态: 首先,检查RAID1阵列中的两…

帝国cms投稿时为什么显示非本模型的父栏目?

由于一个父栏目有可能有n种系统模型,所以系统只限制非本系统模型的终极栏目不显示。当然为了美观你也可以直接修改调用的JS文件:d/js/addinfo模型id.js本文来自博客园,作者:黄文Rex,转载请注明原文链接:https://www.cnblogs.com/hwrex/p/18298129

易优CMS文章上一篇设置与调用标签

{eyou:prenext get=pre} <a href={$field.arcurl} title={$field.title} class=page-link> 上一篇 <span>: {$field.title}</span> </a> {eyou:else /} <a class=page-link>上一篇:没有了</a> {/eyou:prenext}本文来自博客园,作者:黄文…