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

相关文章

Jenkins分布式集群配置方式

《Jenkins分布式集群配置方式》:本文主要介绍Jenkins分布式集群配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装jenkins2.配置集群总结Jenkins是一个开源项目,它提供了一个容易使用的持续集成系统,并且提供了大量的plugin满

c++ 类成员变量默认初始值的实现

《c++类成员变量默认初始值的实现》本文主要介绍了c++类成员变量默认初始值,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录C++类成员变量初始化c++类的变量的初始化在C++中,如果使用类成员变量时未给定其初始值,那么它将被

C++中NULL与nullptr的区别小结

《C++中NULL与nullptr的区别小结》本文介绍了C++编程中NULL与nullptr的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编... 目录C++98空值——NULLC++11空值——nullptr区别对比示例 C++98空值——NUL

SpringBoot线程池配置使用示例详解

《SpringBoot线程池配置使用示例详解》SpringBoot集成@Async注解,支持线程池参数配置(核心数、队列容量、拒绝策略等)及生命周期管理,结合监控与任务装饰器,提升异步处理效率与系统... 目录一、核心特性二、添加依赖三、参数详解四、配置线程池五、应用实践代码说明拒绝策略(Rejected

C++ Log4cpp跨平台日志库的使用小结

《C++Log4cpp跨平台日志库的使用小结》Log4cpp是c++类库,本文详细介绍了C++日志库log4cpp的使用方法,及设置日志输出格式和优先级,具有一定的参考价值,感兴趣的可以了解一下... 目录一、介绍1. log4cpp的日志方式2.设置日志输出的格式3. 设置日志的输出优先级二、Window

SQL Server配置管理器无法打开的四种解决方法

《SQLServer配置管理器无法打开的四种解决方法》本文总结了SQLServer配置管理器无法打开的四种解决方法,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录方法一:桌面图标进入方法二:运行窗口进入检查版本号对照表php方法三:查找文件路径方法四:检查 S

从入门到精通C++11 <chrono> 库特性

《从入门到精通C++11<chrono>库特性》chrono库是C++11中一个非常强大和实用的库,它为时间处理提供了丰富的功能和类型安全的接口,通过本文的介绍,我们了解了chrono库的基本概念... 目录一、引言1.1 为什么需要<chrono>库1.2<chrono>库的基本概念二、时间段(Durat

C++20管道运算符的实现示例

《C++20管道运算符的实现示例》本文简要介绍C++20管道运算符的使用与实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录标准库的管道运算符使用自己实现类似的管道运算符我们不打算介绍太多,因为它实际属于c++20最为重要的

Visual Studio 2022 编译C++20代码的图文步骤

《VisualStudio2022编译C++20代码的图文步骤》在VisualStudio中启用C++20import功能,需设置语言标准为ISOC++20,开启扫描源查找模块依赖及实验性标... 默认创建Visual Studio桌面控制台项目代码包含C++20的import方法。右键项目的属性:

Linux中SSH服务配置的全面指南

《Linux中SSH服务配置的全面指南》作为网络安全工程师,SSH(SecureShell)服务的安全配置是我们日常工作中不可忽视的重要环节,本文将从基础配置到高级安全加固,全面解析SSH服务的各项参... 目录概述基础配置详解端口与监听设置主机密钥配置认证机制强化禁用密码认证禁止root直接登录实现双因素