在Mac中配置gcc搭独,為了使用bits/stdc++.h萬能頭文件(sublime text)

大部分OJ都支持bits.stdc++.h頭文件,也就是說刷題的時(shí)候廊镜,不需要include那么多頭文件牙肝,就#include <bits.stdc++.h>就能包括幾乎所有刷題要用的頭文件了。但是Mac上的自帶的gcc是不支持這個頭文件的嗤朴,所以就需要自行安裝配椭。

1. 刪除/usr/bin中的:g++, gcc, c++, cpp, cc,也有可能里面沒有雹姊,反正就是如果有就刪

$ cd /usr/bin
$ sudo rm g++ gcc c++ cpp cc

刪除演示

如果出現(xiàn)operation not permitted可以看看這篇博客:mac的權(quán)限問題股缸,其中要注意的就是可能跟作者的OS版本不同,我重啟按command + R之后吱雏,看到的是一個問我要重裝系統(tǒng)還是恢復(fù)備份的界面敦姻,然后這些不要管,在上面隨便點(diǎn)點(diǎn)就能看到啟動終端的按鈕(我寫完了再去看看歧杏,再更新吧)

2. 安裝brew

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

P.S:我之前安裝過了得滤,但是我忘了怎么裝了來著盒犹,如果安裝失敗的話麻煩讀者再百度一下吧,這一步很簡單的沮协。在這里提供一個連接:brew安裝

3. 安裝gcc

在終端輸入brew search gcc可以看到

各個版本的gcc

我們就安裝gcc7好了(之前裝的是6聘殖,卸載掉復(fù)現(xiàn)寫的教程)
終端輸入:brew install gcc@7
等一會兒就安裝好了
安裝gcc7

4. 軟連接到/usr/bin

先確認(rèn)一下gcc的安裝目錄吧奸腺,我知道gcc安裝在/usr/local/Cellar里血久,但具體的版本號呢還是要cd進(jìn)去看看氧吐。

image.png

cd usr/bin/Cellar
ls看gcc的版本(當(dāng)然是7啦筑舅,但是可以看到目錄名字是gcc@7)
cd gcc@7
cd 7.4.0
cd bin
pwd
反正就是要進(jìn)去gcc的那個bin目錄翠拣,然后pwd打印出路徑,
然后把這個路徑下的g++, gcc, cpp, c++都做軟連接鏈接到/usr/bin里去
我輸入的命令如下邦尊,可能gcc的版本會有更新使得路徑不同蝉揍,所以下面的命令不要復(fù)制畦娄,而要通過上面的步驟得到gcc中bin的絕對路徑熙卡。而且每個文件也不同,比如這里是g++-7滑燃,鏈接之后的文件是g++表窘,

$ sudo ln -s /usr/local/Cellar/gcc\@7/7.4.0/bin/c++-7 /usr/bin/c++
$ sudo ln -s /usr/local/Cellar/gcc\@7/7.4.0/bin/cpp-7 /usr/bin/cpp
$ sudo ln -s /usr/local/Cellar/gcc\@7/7.4.0/bin/g++-7 /usr/bin/g++
$ sudo ln -s /usr/local/Cellar/gcc\@7/7.4.0/bin/gcc-7 /usr/bin/gcc

5. 設(shè)置環(huán)境變量

vim ~/.bash_profile
加上這行export PATH=$PATH:/usr/local/Cellar/gcc\@7/7.4.0/bin
上面這行代碼不用復(fù)制粘貼,路徑不一定跟教程里的一樣瘤袖,看自己的

bash_profile

然后再
source ~/.bash_profile
至此捂敌,gcc的安裝就算完成了既琴,可以寫個cpp文件甫恩,然后g++ xxx.cpp試試,我們接著配置sublime text

6. 配置sublime

如圖


image.png

復(fù)制粘貼下面的代碼

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

command + S
保存為
C++.sublime-build
然后再選c++為built system就好啦

image.png

圖里的是C++(2),只是文件命名的問題滞磺,不要介意击困。

command + B運(yùn)行,大工告成阅茶!

image.png

折騰了一天了蹦浦,都是一邊百度一邊折騰hhh撞蜂。教程到此為止了蝌诡。

附刷題模板

<snippet>
    <content>
    <![CDATA[
#include <stdio.h>
#include <iostream>
#include <cstdlib>
#include <cmath>
#include <cctype>
#include <unordered_map>
#include <string>
#include <cstring>
#include <algorithm>
#include <stack>
#include <queue>
#include <set>
#include <map>
#include <ctime>
#include <vector>
#include <fstream>
#include <list>
#include <iomanip>
#include <numeric>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
#define ms(s) memset(s, 0, sizeof(s))
const int inf = 0x3f3f3f3f;
#define LOCAL



int main(int argc, char * argv[]) 
{

    return 0;
}]]>
    </content>
    <!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
    <tabTrigger>acm</tabTrigger>
    <!-- Optional: Set a scope to limit where the snippet will trigger -->
    <scope>source.c++</scope>
</snippet>

使用方法:打開sublime text →Tools → Developer → new snippet → 上邊的代碼粘貼進(jìn)去→command + s存為acm.sublime-snippet浦旱。
然后在一個cpp文件中輸入acm,會出現(xiàn)一個補(bǔ)全提示宣蠕,按回車,就會自動生成模板代碼了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末思币,一起剝皮案震驚了整個濱河市谷饿,隨后出現(xiàn)的幾起案子妈倔,更是在濱河造成了極大的恐慌,老刑警劉巖毅哗,帶你破解...
    沈念sama閱讀 222,000評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件虑绵,死亡現(xiàn)場離奇詭異翅睛,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)捕发,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評論 3 399
  • 文/潘曉璐 我一進(jìn)店門扎酷,熙熙樓的掌柜王于貴愁眉苦臉地迎上來霞玄,“玉大人坷剧,你說我怎么就攤上這事喊暖。” “怎么了狞尔?”我有些...
    開封第一講書人閱讀 168,561評論 0 360
  • 文/不壞的土叔 我叫張陵偏序,是天一觀的道長。 經(jīng)常有香客問我豫缨,道長端朵,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,782評論 1 298
  • 正文 為了忘掉前任舍败,我火速辦了婚禮邻薯,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘弛说。我一直安慰自己翰意,他們只是感情好冀偶,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,798評論 6 397
  • 文/花漫 我一把揭開白布进鸠。 她就那樣靜靜地躺著,像睡著了一般霞幅。 火紅的嫁衣襯著肌膚如雪量瓜。 梳的紋絲不亂的頭發(fā)上绍傲,一...
    開封第一講書人閱讀 52,394評論 1 310
  • 那天,我揣著相機(jī)與錄音试读,去河邊找鬼荠耽。 笑死,一個胖子當(dāng)著我的面吹牛倘屹,可吹牛的內(nèi)容都是我干的唐瀑。 我是一名探鬼主播插爹,決...
    沈念sama閱讀 40,952評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼赠尾,長吁一口氣:“原來是場噩夢啊……” “哼气嫁!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起寸宵,我...
    開封第一講書人閱讀 39,852評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎庶香,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體赶掖,經(jīng)...
    沈念sama閱讀 46,409評論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡奢赂,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,483評論 3 341
  • 正文 我和宋清朗相戀三年膳灶,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片拆吆。...
    茶點(diǎn)故事閱讀 40,615評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡枣耀,死狀恐怖庭再,靈堂內(nèi)的尸體忽然破棺而出拄轻,到底是詐尸還是另有隱情,我是刑警寧澤院促,帶...
    沈念sama閱讀 36,303評論 5 350
  • 正文 年R本政府宣布常拓,位于F島的核電站辉浦,受9級特大地震影響弄抬,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜宪郊,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,979評論 3 334
  • 文/蒙蒙 一掂恕、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧弛槐,春花似錦懊亡、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至灌闺,卻和暖如春艰争,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背桂对。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留缀棍,地道東北人爬范。 一個月前我還...
    沈念sama閱讀 49,041評論 3 377
  • 正文 我出身青樓斥难,卻偏偏與公主長得像,于是被迫代替她去往敵國和親镀裤。 傳聞我的和親對象是個殘疾皇子馁菜,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,630評論 2 359

推薦閱讀更多精彩內(nèi)容