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 gcc

sudo ln -s /usr/local/Cellar/gcc@5/5.5.0_2/bin/cpp-5 cpp

sudo 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 测试一下

至此 教程完成,

发布了372 篇原创文章 · 获赞 89 · 访问量 23万+

猜你喜欢

转载自blog.csdn.net/sizaif/article/details/84035544
今日推荐