コンテンツへスキップ
Topos Uranos

要約

このレッスンでは、コース全体を通じて使う環境をインストールし、動作を確かめる。まず、何をなぜインストールするのかを説明する。独立したプログラムであるコンパイラ、それを呼び出すエディタである Visual Studio Code、その公式の C++ 拡張機能、そしてコンパイラを仲介なしに呼び出せるターミナルである。次に、システムごとの完全な手順を示す。Windows では UCRT64 環境と GCC を備えた MSYS2、または代わりに Microsoft のコンパイラ。macOS では Clang を含む Xcode のコマンドライン ツール、または Apple の版で足りない場合は Homebrew の GCC。Linux では Debian と Ubuntu、Fedora、Arch の各ディストリビューションの GCC である。続いて、三つのシステムで共通のエディタと拡張機能のインストール、そして Windows のコンソールが UTF-8 でテキストを書き、読むようにするための設定を扱う。最後に、日本語の一行とコンパイラが適用する C++ の規格を書き出す動作確認用のプログラムと、インストールでよく起こる不具合を、それぞれの原因と対処法とともに示す。

学習目標

  1. 自分のシステムに C++23 をサポートするコンパイラをインストールし、ターミナルからそのバージョンを確かめる。
  2. Visual Studio Code とその公式の C++ 拡張機能をインストールし、それを使って作業フォルダを開く。
  3. 最初の動作確認用のプログラムを、ターミナルからとエディタからの両方でコンパイルし、実行する。
  4. インストールでよく起こる不具合(コンパイラが見つからない、バージョンが古い、規格が認識されない)のうち少なくとも三つを診断し、解決する。

何をなぜインストールするのか

レッスン プログラム・コンパイラ・C++で見たように、C++ で書かれたプログラムは書かれたままの形では実行されない。コンパイラがそれを実行ファイル、すなわちオペレーティング システムが起動できる機械語の命令を収めたファイルへ翻訳する。そうであれば、プログラミングには少なくとも二つの異なるものが必要になる。プログラムのテキストを書く場所と、それを実行ファイルに変換する翻訳者である。前者を与えるのがエディタであり、後者を与えるのがコンパイラである。これらは別々のプログラムで、別々にインストールされ、別々に不具合を起こしうるので、混同しないほうがよい。エディタ自身は何もコンパイルせず、コンパイラにコンパイルを頼み、その応答を表示するだけである。

この分離には実際的な帰結があり、このレッスンのすべての手順はそれに依存している。エディタが「コンパイルする」とき、実際にはターミナルに g++ main.cpp -o main のようなコマンドを書いているのであり、それは学習者自身が書くのとまったく同じである。そこから、エディタがすることはすべてターミナル、すなわちオペレーティング システムへのコマンドを書くテキストのウィンドウで手作業でもできること、そしてエディタが不具合を起こしたときには、ターミナルを使えば欠陥がエディタにあるのかコンパイラにあるのかを突き止められることが導かれる。そのためこのコースでは、初日から両方を使う。エディタは便利さのために、ターミナルは何が起きているかを知るために使う。

インストールする部品は四つである。

  • コンパイラとその標準ライブラリ。このコースは C++23 の規格を使うので、コンパイラはそれを認識しなければならず、その標準ライブラリはヘッダ <print> を含んでいなければならない。このヘッダが std::println を提供する。Windows と Linux では GCC(C++ 用のコマンドは g++)を、macOS では Clang(clang++)を使う。GCC 15 以降が必要である。ヘッダ <print> が GCC の標準ライブラリに入ったのはバージョン 14 だが、コレクション全体を std::println で書き出す機能は、このコースがレッスン プログラム・コンパイラ・C++以降の多くのレッスンで使うものであり、15 になって初めて加わった。macOS では、Xcode 16 以降のツールが必要である。
  • エディタ。Visual Studio Code である。無料で、三つのシステムで同じプログラムなので、このコースの指示はどのシステムにも当てはまる。
  • Visual Studio Code 用の Microsoft の公式 C/C++ 拡張機能。エディタに言語を教えるもので、コードに色を付け、入力中にエラーを指摘し、名前を補完し、コンパイラとデバッガを呼び出す方法を知っている。
  • デバッガ。Windows と Linux では GDB、macOS では LLDB である。実行を止めてプログラムの状態を調べられるプログラムで、いまコンパイラと一緒にインストールし、第 4 単元から使う。

以下の手順は互いに独立している。各学習者は自分のシステムの手順に従い、そのあと Visual Studio Code の部分へ進む。コマンドのブロックでは、行頭の記号 $ はターミナルのプロンプトを表し、入力はしない。この記号のない行はターミナルの応答である。ここに挙げる公式サイトだけからダウンロードするのがよい。ほかの場所から入手したインストーラは古いか、改変されているおそれがある。