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

相关文章

IDEA中配置Tomcat全过程

《IDEA中配置Tomcat全过程》文章介绍了在IDEA中配置Tomcat的六步流程,包括添加服务器、配置部署选项、设置应用服务器及启动,并提及Maven依赖可能因约定大于配置导致问题,需检查依赖版本... 目录第一步第二步第三步第四步第五步第六步总结第一步选择这个方框第二步选择+号,找到Tomca

Win10安装Maven与环境变量配置过程

《Win10安装Maven与环境变量配置过程》本文介绍Maven的安装与配置方法,涵盖下载、环境变量设置、本地仓库及镜像配置,指导如何在IDEA中正确配置Maven,适用于Java及其他语言项目的构建... 目录Maven 是什么?一、下载二、安装三、配置环境四、验证测试五、配置本地仓库六、配置国内镜像地址

SpringBoot多环境配置数据读取方式

《SpringBoot多环境配置数据读取方式》SpringBoot通过环境隔离机制,支持properties/yaml/yml多格式配置,结合@Value、Environment和@Configura... 目录一、多环境配置的核心思路二、3种配置文件格式详解2.1 properties格式(传统格式)1.

Debian系和Redhat系防火墙配置方式

《Debian系和Redhat系防火墙配置方式》文章对比了Debian系UFW和Redhat系Firewalld防火墙的安装、启用禁用、端口管理、规则查看及注意事项,强调SSH端口需开放、规则持久化,... 目录Debian系UFW防火墙1. 安装2. 启用与禁用3. 基本命令4. 注意事项5. 示例配置R

C++11范围for初始化列表auto decltype详解

《C++11范围for初始化列表autodecltype详解》C++11引入auto类型推导、decltype类型推断、统一列表初始化、范围for循环及智能指针,提升代码简洁性、类型安全与资源管理效... 目录C++11新特性1. 自动类型推导auto1.1 基本语法2. decltype3. 列表初始化3

C++11右值引用与Lambda表达式的使用

《C++11右值引用与Lambda表达式的使用》C++11引入右值引用,实现移动语义提升性能,支持资源转移与完美转发;同时引入Lambda表达式,简化匿名函数定义,通过捕获列表和参数列表灵活处理变量... 目录C++11新特性右值引用和移动语义左值 / 右值常见的左值和右值移动语义移动构造函数移动复制运算符

PyCharm中配置PyQt的实现步骤

《PyCharm中配置PyQt的实现步骤》PyCharm是JetBrains推出的一款强大的PythonIDE,结合PyQt可以进行pythion高效开发桌面GUI应用程序,本文就来介绍一下PyCha... 目录1. 安装China编程PyQt1.PyQt 核心组件2. 基础 PyQt 应用程序结构3. 使用 Q

Redis MCP 安装与配置指南

《RedisMCP安装与配置指南》本文将详细介绍如何安装和配置RedisMCP,包括快速启动、源码安装、Docker安装、以及相关的配置参数和环境变量设置,感兴趣的朋友一起看看吧... 目录一、Redis MCP 简介二、安www.chinasem.cn装 Redis MCP 服务2.1 快速启动(推荐)2.

C++中detach的作用、使用场景及注意事项

《C++中detach的作用、使用场景及注意事项》关于C++中的detach,它主要涉及多线程编程中的线程管理,理解detach的作用、使用场景以及注意事项,对于写出高效、安全的多线程程序至关重要,下... 目录一、什么是join()?它的作用是什么?类比一下:二、join()的作用总结三、join()怎么

Spring Boot配置和使用两个数据源的实现步骤

《SpringBoot配置和使用两个数据源的实现步骤》本文详解SpringBoot配置双数据源方法,包含配置文件设置、Bean创建、事务管理器配置及@Qualifier注解使用,强调主数据源标记、代... 目录Spring Boot配置和使用两个数据源技术背景实现步骤1. 配置数据源信息2. 创建数据源Be