0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

MacOS CatalinaでVisualStudioCodeの環境設定【競技プログラミング(C++)】

Last updated at Posted at 2021-01-22

はじめに

今年はなんとなく新しいことを始めたいなと思ってたところ、Google入社エントリというのを発見。面白いので読んでみたらその中で「競技プログラミング」というのが出てきたのでググってみた。この際C++も勉強してみようということでとりあえず、環境設定からだろう。VSCodeの設定の仕方を記載。

Xcodeのインストール

Homebrewを使うにはCommand line tools for Xcodeが必要。

xcode-select --install

ここが選択されてなかった場合、選択する必要あり。
68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f313032323938382f34666662623432312d613939622d626438392d356132662d3736366664363633643833652e706e67.png

Homebrewのインストール

ここからコピペでインストール
https://brew.sh/index_ja.html

brew --version // version確認
brew doctor    // 問題をチェックしてくれるコマンド
// Your system is ready to brewと表示できればok

gccのインストール

MacOSは標準でC++のコンパイラのClangが既に入ってるが、
C++の標準ライブラリの集合体であるbits/stdc++.hが使えない。
実務レベルでは微妙らしいが、競技プログラミングではこれを使用出来る方が効率が良い。
んで、gccはこれが使えるので、切り替える作業が必要。

brew install gcc

// clang(実体)のままになっている
which gcc
/usr/bin/gcc
which g++
/usr/bin/g++ 

// 切り替え
ln -s /usr/local/bin/gcc-10 /usr/local/bin/gcc
ln -s /usr/local/bin/g++-10 /usr/local/bin/g++

// gccが実行されるようになる
which gcc
/usr/local/bin/gcc
which g++
/usr/local/bin/g++ 

VSCodeダウンロード

Downloadはこちらから
https://azure.microsoft.com/ja-jp/products/visual-studio-code/

プラグインのインストール

sample002.png
sample003.png
sample004.png
こちらをインストールする。

Code Runnerの設定

スクリーンショット 2021-01-21 19.28.01.png
実行結果を確認したい場合、上記の「▷」を押下して確認出来るようにしたいので、下記の設定をする。
command + Shift + psetting.json入力後、Open setting(JSON)を開き下記を追加する。

    "code-runner.clearPreviousOutput": true,
    "code-runner.runInTerminal": true,

Code-Runner: Run In Terminalの設定

sample006.png
INSALLEDでCode Runnerの右に「歯車アイコン」があるのでExtension Settingsを選択。

sample007.png
下部の方にCode-Runner: Run In Terminalがあるのでチェックを入れる。

tasks.jsonの作成

command + Shift + pTasks: Configure Taskを入力して適当にtasks.jsonを作成する。ファイルが自動生成された後にエディター画面に表示され、タスクランナーの構成表示される。

{
    "version": "2.0.0",
    "tasks": [
        {
            "type": "shell",
            "label": "C/C++: g++ debug build",
            "command": "/usr/local/bin/g++",
            "args": [
                "-O0",
                "-g",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "options": {
                "cwd": "/usr/local/bin"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ]
}

コピペで上書きしておく。

launch.jsonの作成

スクリーンショット 2021-01-21 19.55.17.png
デバッグメニューを開きRun And Debugを押下してlaunch.jsonの作成をする
スクリーンショット 2021-01-21 19.56.29.png
C++(GDB/LLDB)を選択すると自動で作成される。これで使えるようになる。

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(lldb) Launch",
            "type": "lldb",
            "request": "launch",
            "program": "${fileDirname}/${fileBasenameNoExtension}",
            "args": [],
            "cwd": "${workspaceFolder}",
            "preLaunchTask": "C/C++: g++ debug build"
        }
    ]
}

※ もし、作れない場合はこれをコピペで貼り付ける。

#include<bits/stdc++.h>が使えない問題を解消

ls -la /usr/local/Cellar/gcc/10.2.0_2/include/c++/10.2.0/x86_64-apple-darwin19/bits/stdc++.h
/usr/local/Cellar/gcc/10.2.0_2/include/c++/10.2.0/x86_64-apple-darwin19/bits/stdc++.h

cd /usr/local/include/
cp /usr/local/Cellar/gcc/10.2.0_2/include/c++/10.2.0/x86_64-apple-darwin19/bits/stdc++.h .

自分のインストールしているVersionによってPATHは異なるので確認は必要。
こちらでVSCodeを再起動して使えるようにする。

コードを書いて右上の「▷」を押下すると自動でEditerのTerminalが立ち上がり結果が表示される。
入力する場合は、Terminalに入力して結果を表示される。

コンパイルがうまくいかない時

突然Debug機能が使えなくなることがあり、頭を悩ませていました。

Error内容.
collect2: fatal error: cannot find 'ld'

直し方としてはsetting.jsonで指定している
下記がfalseだったのをtrueにした。

"terminal.integrated.inheritEnv": false
参考記事
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?