Dockerで競技プログラミング(C++)の環境構築

Dockerfile、docker-comopse.ymlの作成

ディレクトリ構造は以下の通り

/path/to/working_dir
├── Dockerfile
├── docker-compose.yml
├── src/

Dockerfileの作成

FROM ubuntu:18.04

RUN apt update && \
    apt upgrade -y && \
    apt install -y build-essential

docker-compose.ymlの作成

version: "3"
services:
    cpp:
        build: ./
        working_dir: /app
        volumes:
            - ./:/app
        tty: true

以下のコマンドを実行し、コンテナを立ち上げる。

docker-compose up -d

Vscodeの設定

Vscode のRemote Containerを使ってコンテナ内で開発する設定を行う。
まず、VScodeのRemote-Containersを利用して、先ほど立ち上げたコンテナにリモート接続する。

次に、以下のextentionをRemoteのVscodeにインストールする。

  • C/C++
  • C/C++ ClangCommandAdapter
  • CodeRunder

そして、Remoteのsetting.jsonを以下のように編集する。

{
    "clang.executable": "clang++",
    "code-runner.runInTerminal": true,
    "clang.cxxflags": [ "-std=c++14"],
    "code-runner.executorMap": {
        "cpp": "cd $dir && g++ -O2 -std=c++14 $fileName && ./a.out",
      }
}

この設定により、control+option+Nを押すと、現在フォーカスしているソースコードのコンパイルと実行をすることができる。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次