MacOX配置GCC编译器 以及sublime支持 c++11和输入和支持 bits/stdc++.h 头文件

2024-01-03 12:58

本文主要是介绍MacOX配置GCC编译器 以及sublime支持 c++11和输入和支持 bits/stdc++.h 头文件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

Mac  内 写 sublime  本身是个很舒服得问题.

但是因为 Mac 编译器得问题不支持 bits/stdc++.h 这个头文件. 也不支持  c++11   版本太低的问题.

没有bits/stdc++.h   感觉写起来非常的难受..  

所以就着手研究 Mac 上更新 GCC 版本.

网上好多教程, 都是直接调用 clang , xcode 来省事,  不符合要求 pass

 

第一步: 先得安装 gcc  

装 gcc   就需要用 homebrew  这个软件.  因为 某些XX 原因.,  终端直接访问 github是访问不通的, 

所以会出现很多XX 问题. 正好我有 socks 代理.  所以

我的步骤是 先安装 homebrew  

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

然后等安装完毕, 先用 brew 安装 proxychains  使得终端可以走代理,访问 github

 brew install proxychains-ng

然后 进配置文件 修改

编辑配置文件 vim /usr/local/etc/proxychains.conf
在末尾的 [ProxyList] 下加入代理类型
socks5 127.0.0.1 1080

这个端口1080 要与你的 端口一致, 我的刚开始默认为1086, 我给修改成1080了

这个 proxychains 的 用法是 在 操作的命令前面加上 proxychains4 

为了方便

我在 ~/.bash_profile 里 添加了 alias pc="proxychains4"  然后 sources ~/.bash_profile 生效

然后就可以用

 pc brew update

先更新一下.

更新完后 安装 gcc5

pc brew search gcc5

得到结果 gcc@5

pc brew install gcc@5

因为有了代理,所以很快就会 安装完成.

安装完成后  gcc-5 --version 查看版本

 

第二步, 此时 gcc 已经安装完,

我们现在要做的操作就是 替换掉原先的  xode 的livm

 

进入到/usr/bin/ 下

将 旧版本的 gcc g++ cc cpp c++ 删掉,  删掉之前,可以做个备份.

然后 进入到  /usr/local/Cellar/  目录下.  如果你装的是 gcc5  那么会有个 gcc@5 的文件夹

进入后 

在进入 到 此文件夹下的 bin 目录下

会有这些文件.  没有看到 cc 没有关系. . 他是链接到 c++

然后我们回到 /usr/bin 目录下  创建 软链接 

目录 请自行根据安装的版本下 对照文件 修改

sudo ln -s /usr/local/Cellar/gcc@5/5.5.0_2/bin/g++-5 g++sudo ln -s /usr/local/Cellar/gcc@5/5.5.0_2/bin/c++-5 c++sudo ln -s /usr/local/Cellar/gcc@5/5.5.0_2/bin/gcc-5 gccsudo ln -s /usr/local/Cellar/gcc@5/5.5.0_2/bin/cpp-5 cppsudo ln -s /usr/local/Cellar/gcc@5/5.5.0_2/bin/c++-5 cc

确保无误后

修改 bash_profile 文件   添加 /usr/local/Cellal/gcc@5/5.5.0_2/bin:和 /usr/local/Cellar/gcc@5/5.5.0_2/lib 这两个目录

vim ~/.bash_profile 

添加这句话 然后 source ~/.bash_profile 保存

然后输入 gcc -v 或者 g++ -v  测试

发现已经不是 lvim 了

 

第三部;  配置sublime text3  编译文件 支持 c++11 输入 已经 bits/stdc++.h 头文件

 

添加:

{"cmd": ["bash", "-c", "g++ '${file}' -std=c++11  -o '${file_path}/${file_base_name}'"],"file_regex": "^(..{FNXX==XXFN}*):([0-9]+):?([0-9]+)?:? (.*)$","working_dir": "${file_path}","selector": "source.c, source.c++","variants":[{"name": "Run","cmd": ["bash", "-c", "g++ '${file}' -std=c++11  -o '${file_path}/${file_base_name}' && open -a Terminal.app '${file_path}/${file_base_name}'"]}]
}

测试:

如果报错的话,  写一个 test.cpp 代码

测试一下,  这是成功的样子, 说 c++11 是可以编译的

 

然后我们sublime 测试一下

 

至此 教程完成,

 

这篇关于MacOX配置GCC编译器 以及sublime支持 c++11和输入和支持 bits/stdc++.h 头文件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/565767

相关文章

SpringBoot3.4配置校验新特性的用法详解

《SpringBoot3.4配置校验新特性的用法详解》SpringBoot3.4对配置校验支持进行了全面升级,这篇文章为大家详细介绍了一下它们的具体使用,文中的示例代码讲解详细,感兴趣的小伙伴可以参考... 目录基本用法示例定义配置类配置 application.yml注入使用嵌套对象与集合元素深度校验开发

IntelliJ IDEA 中配置 Spring MVC 环境的详细步骤及问题解决

《IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决》:本文主要介绍IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决,本文分步骤结合实例给大... 目录步骤 1:创建 Maven Web 项目步骤 2:添加 Spring MVC 依赖1、保存后执行2、将新的依赖

SpringBoot基于配置实现短信服务策略的动态切换

《SpringBoot基于配置实现短信服务策略的动态切换》这篇文章主要为大家详细介绍了SpringBoot在接入多个短信服务商(如阿里云、腾讯云、华为云)后,如何根据配置或环境切换使用不同的服务商,需... 目录目标功能示例配置(application.yml)配置类绑定短信发送策略接口示例:阿里云 & 腾

如何为Yarn配置国内源的详细教程

《如何为Yarn配置国内源的详细教程》在使用Yarn进行项目开发时,由于网络原因,直接使用官方源可能会导致下载速度慢或连接失败,配置国内源可以显著提高包的下载速度和稳定性,本文将详细介绍如何为Yarn... 目录一、查询当前使用的镜像源二、设置国内源1. 设置为淘宝镜像源2. 设置为其他国内源三、还原为官方

C++如何通过Qt反射机制实现数据类序列化

《C++如何通过Qt反射机制实现数据类序列化》在C++工程中经常需要使用数据类,并对数据类进行存储、打印、调试等操作,所以本文就来聊聊C++如何通过Qt反射机制实现数据类序列化吧... 目录设计预期设计思路代码实现使用方法在 C++ 工程中经常需要使用数据类,并对数据类进行存储、打印、调试等操作。由于数据类

CentOS7更改默认SSH端口与配置指南

《CentOS7更改默认SSH端口与配置指南》SSH是Linux服务器远程管理的核心工具,其默认监听端口为22,由于端口22众所周知,这也使得服务器容易受到自动化扫描和暴力破解攻击,本文将系统性地介绍... 目录引言为什么要更改 SSH 默认端口?步骤详解:如何更改 Centos 7 的 SSH 默认端口1

Maven的使用和配置国内源的保姆级教程

《Maven的使用和配置国内源的保姆级教程》Maven是⼀个项目管理工具,基于POM(ProjectObjectModel,项目对象模型)的概念,Maven可以通过一小段描述信息来管理项目的构建,报告... 目录1. 什么是Maven?2.创建⼀个Maven项目3.Maven 核心功能4.使用Maven H

SpringBoot多数据源配置完整指南

《SpringBoot多数据源配置完整指南》在复杂的企业应用中,经常需要连接多个数据库,SpringBoot提供了灵活的多数据源配置方式,以下是详细的实现方案,需要的朋友可以参考下... 目录一、基础多数据源配置1. 添加依赖2. 配置多个数据源3. 配置数据源Bean二、JPA多数据源配置1. 配置主数据

Spring 基于XML配置 bean管理 Bean-IOC的方法

《Spring基于XML配置bean管理Bean-IOC的方法》:本文主要介绍Spring基于XML配置bean管理Bean-IOC的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一... 目录一. spring学习的核心内容二. 基于 XML 配置 bean1. 通过类型来获取 bean2. 通过

Linux下如何使用C++获取硬件信息

《Linux下如何使用C++获取硬件信息》这篇文章主要为大家详细介绍了如何使用C++实现获取CPU,主板,磁盘,BIOS信息等硬件信息,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录方法获取CPU信息:读取"/proc/cpuinfo"文件获取磁盘信息:读取"/proc/diskstats"文