Ubuntu 18.04 に GCC コンパイラをインストールする方法
GCC は GNU Compiler Collection の略で、R, C, C++, Objective-C, Fortran, Ada, Go, D などの様々なプログラミング言語に対応しています。Ubuntu に GCC コンパイラをインストールできます apt コマンドラインツールを使用します。apt を使って GCC をインストールするには、スーパーユーザとしてログインする必要があります。
GCC を Ubuntu にインストールする
メタパッケージ名 build-essential は、GCC や g++ や make などのコンパイラを含むデフォルトの Ubuntu リポジトリに存在します。
また、build-essentials パッケージをインストールすることで、システムに GCC をインストールします。build-essential パッケージをインストールすると、システムに GCC がインストールされます。
build-essential をインストールするには、以下の手順に従う。
-
パッケージリストをコマンドで更新します。
sudo apt update -
コマンドを使って
build-essentialパッケージをインストールします。sudo apt install build-essentialこれにより、他のコンパイラと一緒に
GCCがインストールされます。
GCC のインストールを確認する
以下のコマンドを用いて、GCC が正常にインストールされているかどうかを確認します。
gcc --version
GCC が正常にインストールされていれば、GCC のバージョンやその他の情報が出力されます。
出力:
gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
GCC を使ってプログラムをコンパイルする
GCC を用いてプログラムをコンパイルするには、以下のコマンドを用います。
gcc <filename> -o <name_of_executable>
これはプログラム <filename> をコンパイルして <name_of_executable> という名前の実行ファイルを生成します。この実行ファイルを実行すると、以下のような出力が得られます。
gcc hello_world.c -o hello_world
プログラム hello_world.c をコンパイルして hello_world という名前の実行ファイルを生成しています。
実行ファイルを実行するには、以下のコマンドを用います。
./hello_world
複数の GCC バージョンをインストールする
また、システムに複数のバージョンの GCC をインストールすることも可能です。
複数のバージョンの Ubuntu をインストールするには、以下の手順に従います。
-
コマンドを使って、
ubuntu-toolchain-r/testをシステムに追加します。sudo apt install software-properties-common sudo add-apt-repository ppa:ubuntu-toolchain-r/test -
コマンドを使って目的のバージョンをインストールします。
sudo apt install gcc-7 gcc-8 gcc-9gcc-7、gcc-8、gcc-9の 3つのバージョンをインストールします。 -
インストールされたバージョンの優先順位を管理します。
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 90 --slave sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 80 --slave sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 70 --slaveここでは、
gcc-9の優先度が最も高く設定されているので、このシステムではデフォルトのgccになります。
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn