LinuxでC++開発環境を構築しよう!UbuntuとFedora対応ガイド
生徒
「LinuxパソコンでC++を勉強したいのですが、開発環境ってどうやって入れるんですか?」
先生
「Linuxでは簡単にC++開発環境を整えることができます。特にUbuntuやFedoraは初心者にも扱いやすいですよ。」
生徒
「えっ、Linuxって難しそうなイメージがあるけど大丈夫ですか?」
先生
「大丈夫です。ボタンを押すような感覚で進められます。ひとつずつ説明しますね。」
1. LinuxでC++開発を始めるために知っておきたいこと
LinuxでC++のプログラミングを始める際に、まず理解しておきたいのがコンパイラの存在です。 コンパイラとは、人が書いたC++のコードを、コンピュータが直接実行できる命令に変換するためのソフトウェアです。 Linux環境では、このコンパイラが標準的に整備されており、追加費用なしで本格的な開発を始められる点が大きな魅力です。
代表的なコンパイラとしてはGCCとClangがあります。 GCCは長い歴史があり、多くの環境で使われている安定したコンパイラです。 一方のClangは、エラーメッセージが読みやすく、初心者でも「どこを直せばいいのか」が分かりやすい特徴があります。 どちらもC++の学習や実務で広く使われており、用途に応じて選べます。
また、ファイル数が増えてくると、手作業で毎回コンパイルするのは大変になります。 そこで登場するのがCMakeです。 CMakeは、複数のソースファイルや設定をまとめて管理し、ビルド作業を自動化するためのツールです。 「どのファイルをどう組み合わせて実行ファイルを作るか」を一度書いておけば、あとは簡単な操作で再利用できます。
まずは「C++のコードを書く → コンパイラで変換する → 実行する」という基本の流れを体験してみましょう。 次のような、画面に文字を表示するだけのシンプルなプログラムでも、LinuxのC++開発の仕組みを理解する助けになります。
#include <iostream>
int main() {
std::cout << "LinuxでC++を始めよう" << std::endl;
return 0;
}
このコードは「iostream」という標準機能を使って、文字を画面に表示するだけのものです。 コンパイラを使って正しくビルドできれば、Linux上でC++の開発環境が動いている証拠になります。 まずはこの基本を押さえておくことで、後の環境構築やツールの理解がスムーズになります。
2. UbuntuでC++開発環境を構築する手順
UbuntuはLinuxの中でも利用者が多く、C++開発環境の構築手順がまとまった情報も豊富です。 基本は「ターミナル」にコマンドを入力して、必要なツールを順番に入れていきます。 ターミナルは黒い画面に文字で指示を出す場所で、慣れるとクリック操作より速く作業できるようになります。 まずは更新→インストール→動作確認の流れを押さえると迷いにくいです。
なお、Ubuntuではパッケージ管理に apt を使います。
「必要なソフトを安全に追加してくれる仕組み」だと思っておけばOKで、
コマンドをコピーして実行するだけでも環境が整います。
1. GCC(GNU C++コンパイラ)のインストール
まずは定番のC++コンパイラであるGCC(g++)を入れます。
最初に apt update でソフト一覧を最新にしてから、g++をインストールします。
sudo apt update
sudo apt install g++
インストールできたか確認するには、次のコマンドでバージョン表示を確認します。 数字(バージョン情報)が出れば、g++が使える状態です。
g++ --version
2. Clangのインストール
Clangはエラー表示が読みやすく、初心者が原因を追いやすいのが強みです。 GCCと両方入れておいて、状況に応じて使い分ける人も多いです。
sudo apt install clang
Clangも同じように、バージョンが表示されれば準備OKです。
clang++ --version
3. CMakeのインストール
ファイルが増えるC++開発では、ビルド手順をまとめられるCMakeがあると便利です。 小さな学習用プログラムでも、後々のために早めに入れておくと安心です。
sudo apt install cmake
CMakeもバージョン確認で動作チェックできます。
cmake --version
4. かんたんな動作確認(最小サンプル)
ここまで入れたら、Ubuntu上でC++がコンパイルできるかを試してみましょう。
まずは main.cpp という名前で、次の短いプログラムを保存します。
#include <iostream>
int main() {
std::cout << "UbuntuでC++開発環境が動きました" << std::endl;
return 0;
}
次に、ターミナルでコンパイルして実行します。表示が出れば成功です。 うまく動かない場合は、コマンドの入力ミスや、ファイル名・保存場所が違っていないかを見直すと解決しやすいです。
g++ main.cpp -o hello
./hello
3. FedoraでC++開発環境を構築する手順
Fedoraは新しい技術やツールが早く取り込まれるLinuxディストリビューションで、C++の学習や開発にも向いています。
Ubuntuと同じく、ターミナルにコマンドを入力するだけで必要な環境をそろえられるのが特徴です。
Fedoraではパッケージ管理に dnf を使い、ソフトの追加や更新をまとめて安全に行えます。
基本的な流れはUbuntuと変わらず、「コンパイラを入れる → 補助ツールを入れる → 動作確認する」という順番です。 まずはC++のプログラムをコンパイルできる状態を作ることを目標に進めましょう。
1. GCC(GNU C++コンパイラ)のインストール
Fedoraでも、最もよく使われるC++コンパイラはGCCです。
gcc-c++ というパッケージ名で提供されており、これを入れることで g++ コマンドが使えるようになります。
sudo dnf install gcc-c++
インストール後は、次のコマンドでバージョンを確認します。 数字が表示されれば、C++をコンパイルする準備が整っています。
g++ --version
2. Clangのインストール
Clangはエラーメッセージが読みやすく、初心者が原因を理解しやすいコンパイラです。 Fedoraでも簡単に追加でき、GCCと併用することで学習の幅が広がります。
sudo dnf install clang
Clangも同様に、バージョン確認で正常に使えるかチェックできます。
clang++ --version
3. CMakeのインストール
C++では、ファイルが増えてくるとビルド作業が複雑になります。 CMakeを使うと、複数ファイルをまとめたビルド手順を整理できるため、Fedora環境でも早めに入れておくと安心です。
sudo dnf install cmake
インストール後は、次のコマンドでCMakeが使えるか確認します。
cmake --version
4. Fedoraでのかんたん動作確認
環境が整ったかどうかを確かめるために、最小限のC++プログラムを動かしてみましょう。
main.cpp という名前で、次の内容を保存します。
#include <iostream>
int main() {
std::cout << "FedoraでC++開発環境が動いています" << std::endl;
return 0;
}
ターミナルで次のコマンドを実行し、文字が表示されれば成功です。 FedoraでもUbuntuと同じ手順でC++プログラムを扱えることが分かります。
g++ main.cpp -o hello
./hello
4. インストール後の動作確認
開発環境が整ったら、簡単なC++プログラムが動くか試してみましょう。以下の短いコードを使います。
#include <iostream>
int main() {
std::cout << "Hello from Linux!" << std::endl;
return 0;
}
次に、コンパイルして実行します。
g++ main.cpp -o test
./test
正しく環境が整っていれば、次のように表示されます。
Hello from Linux!
5. UbuntuとFedoraのどちらを選ぶべき?
Linux初心者であればUbuntuがおすすめです。ユーザー数が多く、トラブル解決の情報が豊富だからです。一方で最新の機能を積極的に使いたいならFedoraが向いています。どちらもC++開発には十分な環境を整えられるので、好みで選んで問題ありません。
6. よくあるつまずきポイントと対処法
LinuxでC++開発環境を整えたあと、初心者が最初につまずきやすいのは「インストールしたのに動かない」という状況です。 でも多くの場合、原因はパッケージの状態やコマンドの使い方など、基本の確認で解決できます。 ここではUbuntuとFedoraのどちらでも起こりやすい代表例をまとめます。
まずよくあるのが、g++ や clang++ を打ったときに「見つかりません」と出るケースです。
この場合は、インストールが完了しているか、ターミナルを開き直しているかを確認すると改善することがあります。
また、コマンドの最後に --version を付けて動作確認すると、状況を切り分けやすいです。
Ubuntuの確認コマンド
g++ --version
clang++ --version
cmake --version
Fedoraの確認コマンド
g++ --version
clang++ --version
cmake --version
もう一つ多いのが、ファイル名の違いです。たとえば main.cpp のつもりが別の名前で保存されていると、
g++ main.cpp -o test が失敗してしまいます。
まずは「どのフォルダで作業しているか」と「そこにファイルがあるか」を確認するクセを付けると、環境トラブルに強くなります。
7. エディタとIDEの選び方(初心者向け)
LinuxでC++を学ぶときは、コンパイラやCMakeだけでなく、コードを書くためのエディタ選びも意外と重要です。 文字を打てればどれでも良さそうに見えますが、補完やエラー表示があると、学習のスピードが変わってきます。 特に初心者のうちは、タイピングのミスに気づきやすい環境のほうが続けやすいです。
まずシンプルに始めたいなら、軽量なエディタで .cpp を編集して、ターミナルでコンパイルする流れがおすすめです。
一方で「実行やデバッグもまとめてやりたい」という場合は、IDEを使うと作業がスムーズになります。
UbuntuでもFedoraでも、エディタとターミナルの組み合わせで十分にC++開発ができます。
どちらを選んだとしても、基本は同じで「C++ファイルを保存する → コンパイルする → 実行する」の流れです。 たとえば次のような短いプログラムを作り、出力が変わるように文章を少し変えて試すと、学習の手応えが得られます。
#include <iostream>
int main() {
std::cout << "エディタで保存して、ターミナルで実行できました" << std::endl;
return 0;
}
エディタ選びで迷ったら、「日本語の解説が多い」「自動補完がある」「ファイルを保存しやすい」の3点を基準にすると失敗しにくいです。 最初から完璧を目指すより、まずは続けられる道具を選ぶのがコツです。
8. 複数ファイルのC++に進む前に押さえたい考え方
C++に慣れてくると、ひとつの main.cpp だけではなく、処理を分けて複数ファイルで管理したくなります。
LinuxのC++開発では、この段階で「ビルドの考え方」を押さえておくと後が楽になります。
ここでいうビルドは、コンパイルとリンクをまとめて行い、実行ファイルを作る作業のことです。
たとえば関数を別ファイルに分けると、コンパイルする対象が増えます。 手作業でもできますが、ファイルが増えるほどコマンドが長くなり、入力ミスも増えがちです。 そのため、CMakeのようなビルドツールがよく使われます。 いきなり難しい設定に進む必要はありませんが、「複数ファイルになると管理が必要になる」という感覚だけでも覚えておくと安心です。
次はイメージをつかむための最小例です。main.cpp だけをコンパイルしている段階では、
まずこのコマンドで実行ファイルが作れることを繰り返し確認しておくと、後の学習がスムーズになります。
g++ main.cpp -o app
./app
「コンパイルできた」「実行できた」という成功体験を積んでおくと、ファイルが増えても落ち着いて対処できます。 UbuntuでもFedoraでも、基本の流れは変わらないので、まずはこの段階でビルドの感覚をしっかり固めておきましょう。