Help us understand the problem. What is going on with this article?

Atom でC++競プロ環境

競プロを始めようかなと思い、APG4bに取り組んでいたのですが、そろそろブラウザのエディタがきつくなってきたので普段使っているAtomで競プロ環境構築しました。

目標

  • gcc環境構築、Atom上でコンパイルと実行を行う
  • #include <bits/stdc++.h>を使えるようにする
  • linterをいれる

環境

  • macOS Catalina(10.15.3)
    • Homebrewが入っている前提です。
  • Atom

構築手順

gcc環境

今回は、APG4bでも出てくる#include \<bits/stdc++.h>を使うため、gccをインストールします。
詳しくはこちらにまとまっています。

1. gccをインストール

Homebrewを使ってコンパイラをインストールします。

$ brew install gcc

2. pathを通す

macには今

  • /usr/bin/g++ (デフォルト)
  • /usr/local/bin/g++-9 (今インストールした方)

の2つが存在していて、このままだと上の方が呼び出されます。

$ which g++
/usr/bin/g++

これをgccに変えてあげるためpathを通します。

$ ln -s /usr/local/bin/g++-9 /usr/local/bin/g++

これでシンボリックリンクを作成し、新しいターミナルの画面でもう一度確認すると

$ which g++
/usr/local/bin/g++

となります。

Atomの設定

1. パッケージのインストール

  • gpp-compiler
  • linter-gcc (構文解析ツール)

この二つをpackage管理画面からインストール。

2. gcc-compilerの設定

「GCC Executable Path」の欄に usr/local/bin/g++と記入。
これでF5キーを押すとg++でコンパイルしてくれるようになる。

3. linter-gccの設定

同じように「GCC Executable Path」の欄に usr/local/bin/g++と記入。
いい感じに構文解析して、エラーを出してくれる。

このままだとエラーが出てしまうので
「C++flag」のところに-fsyntax-onlyを追加。
(構文解析エラーのみチェックというオプションです。)

最後に

これで最低限の環境は整いましたが適宜アップデートしていきたいと思います。

参考

https://qiita.com/EngTks/items/ffa2a7b4d264e7a052c6
https://qiita.com/mendako_muscat/items/57e54c8dd97436b0ed06
https://www.smartbowwow.com/2018/08/atomclinter-gccatom-beutify.html

bluesky0906
I am a junior majoring in Computer Science at Ochanomizu University.
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした