Linux あれこれ

Linux 関連(一部 Windows11 )の備忘録です。

「Ubuntu 24.04 LTS」に、「C/C++ の開発環境」をインストール〈H174〉

登録日: 2025-07-07 更新日: 2025-07-07

以前の投稿で、「Haiku R1/beta5」の API は「C++」で書かれているので、プログラミング言語「C++」の学習に向いている 、と紹介しました。

その「C++」言語を「Xubuntu 24.04 LTS」でも学習できるように、「インストール手順」をネット検索すると、 WindowsMacOSVisual Studio を使う記事がほとんどで、Linux はヒットしませんでした。

-

C/C++ の開発環境」を Linux にインストールするとき迷わないよう、Ubuntu 24.04 LTS(Xubuntu、および Ubuntu Cinnamon で確認)に最新のやり方? で、インストールしてみました。

その備忘録です。

-

-

-

使用したPC は、新しく購入した ミニPC「MINISFORUM NAB5」です。
プロセッサは「Core i5-12450H」で、メモリ 16GB、SSD 512GB です。

-

(注)リンクを戻るときはブラウザの左上の「←」をクリック
Android スマホであれば「ホーム」ボタン隣の「<」をタップ

-

-


目次

--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ---

参考:

-

1. プログラミングについて:

-

2. 「C 言語」について:

  (1). 学ぶときの 参考動画:

  (2). 学ぶときの 参考サイト:

-

3. 「C++ 言語」について:

  (1). 「C++ 言語」について 参考動画:

  (2). 学ぶときの ポイント:

  (3). 学ぶときの 参考動画:

  (4). 学ぶときの 参考サイト:

-

4. 「VSCode」について:

  →操作のしかた 参考動画:

-

5. 「Eclipse」について:

  →操作のしかた 参考動画:

-

--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ---

今回の内容:

-

1. 「C/C++」言語の最小限の開発環境をインストールする場合:

  (1).「C」言語の「HelloWorld」を実行してみる:

  (2).「C++」言語の「HelloWorld」を実行してみる:

-

2. 「VSCode」で「C/C++ の開発環境」をインストールする場合:

  (1).「C」言語の「HelloWorld」を実行してみる:

  (2).「C++」言語の「HelloWorld」を実行してみる:

  (3).「C++」言語の実行ファイルをデバッグしてみる:

-

3. 「Eclipse」で「C/C++ の開発環境」をインストールする場合:

  (1).「C」言語の「HelloWorld」を実行してみる:

  (2).「C++」言語の「HelloWorld」を実行してみる:

-

「まとめ へ」

「目次詳細 へ」

-

-


Xubuntu 24.04 LTS を立ち上げ:

--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ---

-

1). ホストOS : 「Xubuntu 24.04.2 LTS」

Eclipse」の起動:

メニュー →「開発」→「Eclipse IDE for C/C++ Developers」

-

ソースファイルを開いているところ:

-

2). ゲストOS : 「Ubuntu Cinnamon 24.04.2 LTS」

ホストOS に「VSCode」をインストールすると、余計なリポジトリが 4つ登録されるので、
ゲストOS 側に「VSCode」はインストール。ホストOS はきれいなままに出来ます:

-

ゲストOS を起動して、「VSCode」を起動:

Menu →「プログラミング」→「Visual Studio Code

-

ソースファイルを開いているところ:

-

参考:

VSCode」のテーマはダークモードなので、デスクトップの壁紙は明るめにしました:

-

vagrant で作成した「仮想マシン」であれば、「vagrant up」で立ち上げても、「Virtalbox マネージャ」で立ち上げても、どちらも 「共有フォルダ」機能が使え、ホストOS から簡単に壁紙を持ってこれます:

-

ホストOS 側:

~/ダウンロード/vm/ubn2404/kabegami.jpg  ←(仮想マシンの作業フォルダに画像を置きます)

↓ 自動で反映

-

ゲストOS 側:

/vagrant/kabegami.jpg  ←(こちらを右クリック→「壁紙に設定」

-

-


現在のOS のバージョンを表示:

--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ---

2025-07-07 現在

-

ホストOS : 「Xubuntu 24.04.2 LTS」
ゲストOS : 「Ubuntu Cinnamon 24.04.2 LTS」

-

カーネル:
$ uname -r
6.8.0-63-generic

→安定志向なので、更新の回数は少なめです:

-

リリース:
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=24.04
DISTRIB_CODENAME=noble
DISTRIB_DESCRIPTION="Ubuntu 24.04.2 LTS"

→LTS 版の更新(ポイントリリース)は、6ヶ月前後で、
 今は「24.04.2」にアップされています

-

x11」と「Wayland」のどちらで動作してるか確認:
$ echo $XDG_SESSION_TYPE
x11

→「Wayland」ではなく、「x11」で動作しています。

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - -

Xubuntu」について:

-

Ubuntu の公式フレーバー(性格の違う兄弟?)です

Ubuntu ベースの、軽量な「Xfce」デスクトップ環境です。

個人的には使い慣れた環境です。
カスタマイズが色々とできるので、自分にとって使い勝手の良い環境を作れるのが利点です。

-

軽量なので、今回のような開発環境を作るには適していると思います:

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - --

1. 参考:「C」言語、および、「C++」言語の学習について:

-

1). プログラミングについて:

コンピュータが理解できる機械語に変換できるプログラミング言語を用いて、
コンピュータに様々な処理を行わせることを「プログラミング」と言います。

-

2). 「プログラミング言語」を「機械語」に変換するやり方は、2つあります:

 (1). 「コンパイラ」ツールを用いてソースファイルを一括で変換しておく コンパイル」方式

 (2). ソースファイルの行をそのつど変換しながら実行する インタプリタ」方式

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ---

1-1. 「C 言語」

-

「C 言語」は、「Linux」(リナックス)OS の元になった「UNIX」(ユニックス)OS を記述していた B言語 の後継として開発されたので、「C 言語」となったみたい。

-

「C 言語」は、命令を機械語に近づけることで、ハードウェアに近いレベルでの操作が可能で、効率的な実行を可能にしながら、さまざまなシステムで動作する(移植性が高い)コードの作成ができます。

そして、コンパイル」方式の言語なので、実行速度が速いです。

-

それ以降の多くのプログラミング言語のベースになっており、 命令を機械語に近づけたことで、少し理解しにくいですが、習得すると多くの言語がスムーズに学習できます。

-


1). 「C 言語」を学ぶとき 参考になりそうな動画:

-

 抜粋:

 00:00:00  1:イントロ
 00:03:06  2:環境構築
 00:08:19  3:関数
 00:41:26  4:文字と数値の出力
 01:00:09  5:変数
 01:43:10  6:条件分岐
 02:16:04  7:for文
 02:33:46  8:関数の作り方
 03:00:41  9:色々な変数
 03:09:07  10:配列
 03:27:11  11:文字列
 03:57:46  12:ポインタ

→訂正: 説明にある、main関数 の intは『メモリスペース』ではなく『戻り値』です

-


2). 参考になりそうな「学習サイト」:

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----

1-2. 「C++ 言語」

-

C++ (シー・プラスプラス)は、C言語をベースに、オブジェクト指向プログラミング(クラス、継承、ポリ morphismなど)ができるように拡張されたプログラミング言語です。

-

高いパフォーマンスと柔軟性を持ち、習得すると多くの分野(ゲーム開発、システムプログラミング、組み込みシステム、金融システム、科学技術計算など)で活躍できるポテンシャルがあります。

長い歴史があるだけでなく、これからも発展する可能性(C++26 仕様 を 2026年に提供の予定)があり、 エンジニアを目指す(?) なら知っておいて損はありません。

-


1). 「C++ 言語」について 参考になりそうな動画:

-


2). 「C++ 言語」を学ぶときのポイント:

C++は、C言語を習得していると学びやすい言語ですが、 あまりにも多い機能で学習範囲が広く、覚えることが多いため、ある程度の学習時間と努力が必要です。

-

(1). C言語を習得:

C++ のベースは「C言語」です。

-

(2). 「オブジェクト指向の概念」を理解:

C++ の核心のオブジェクト指向の概念を理解すると、より効率的に C++ を習得できます。

オブジェクト指向」とは、
「処理を部品化して、部品を組み合わせることで 1つのプログラムを作る考え方」です。

-

(3). 「ポインタ」の扱いを習得:

C++ ではポインタを多用するので、ポインタの扱いを習得することが重要です。

-

(4). 「テンプレート」の扱いを習得:

C++ のテンプレート機能は、型に依存しない汎用的なコードを記述するための機能です。

「関数テンプレート」と「クラステンプレート」の 2種類があり、コンパイル時に特定の型に合わせてコードを生成します。これにより、同じ処理を複数の型に対して記述する手間を省き、コードの再利用性と保守性を向上できます。

-

(5). C++ 標準ライブラリ (STL) の使いこなし:

STL(Standard Template Library)は C++ の豊富なライブラリのことで、 STL を使いこなすことで、開発効率を大幅に向上できます。

-

まず各コンテナ (vector, list, map など) 、 アルゴリズム (sort, find, for_each など) の特徴と使い方を理解、それを適切に使い分けることが重要です。

-

(6). C++ の基本文法と、モダン C++C++11以降)の機能を知る:

C++11 以降、かつての C++ とはまったく別物とも言えるモダンな言語仕様に成長しており、 それは、Modern C++ と称されており、以前とは概念上の互換性がないので、学習のし直しが必要です。

-

参考:

-

(7). 実際にコードを書いて、実践的な開発経験を積みます:

C++ の使われ方、および、書き方は多様で、奥が深いです。

-


3). 「C++ 言語」を学ぶとき 参考になりそうな動画:

前半(基礎構文編):

-

 抜粋:

 00:00:00  1:イントロ
 00:05:23  2:基本構文
 00:40:03  3:文字列・数値
 00:55:12  4:変数
 01:32:52  5:if文
 01:56:24  6:繰り返し
 02:11:57  7:関数
 02:47:55  8:配列
 03:08:32  9:ポインタ
 04:33:46  10:構造体

-

--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ---

後半:

-

 抜粋:

 00:00:00  00:イントロ
 00:02:07  11:構造体からクラスへ
 00:18:35  12:クラス
 01:09:32  13:カプセル化
 01:43:32  14:コンストラク
 02:14:42  15:継承
 03:04:22  16:態性
 04:02:51  17:演算子オーバーロード
 04:53:29  18:関数・クラステンプレート
 05:07:41  19:STL
 05:36:33  20:エラー処理

-


4). 参考になりそうな「学習サイト」:

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - -----

1-3. 「VSCode」について:

-


1). Visual Studio

Microsoft が提供している、Windows で動くプログラムを開発するための、「Windows のみで動く」統合開発環境 (IDE) です。

-

-


2). VSCodeVisual Studio Code

Microsoft が提供している、オープンソースの、コードを書くためのエディタで、WindowsMac OSLinux で動きます。

拡張機能が豊富で、拡張機能を追加することで、Visual Studio に近い機能を実現できます。

-


3). VSCodeVisual Studio の違い

名称は似ていますが、まったく別のソフトウェアです。

Visual Studio統合開発環境 (IDE) でWindows のみで動きます。
VSCode (VisualStudioCode) は Windows 以外でも動く、統合開発環境 (IDE) に近い環境に拡張できる「コードエディタ」(プログラムのコードを書くためのテキストエディタ)です。

-


4). 「VSCode」の使い方 参考になりそうな動画:

-

どれも初心者向けで、説明が重複してますが、わかりやすさは違います。 どれか合うように、複数を紹介しました:

ただし、どれも Linux 向けではないので、インストールのやり方は参考になりません:

-

(1). エディタのオススメはVSCode!プログラミング初心者やフロントエンドエンジニアを目指す方はVSCode一択!
  1. 長く使うには、Microsoft が開発しているので安心、サポートが長い

  2. オープンソースで開発が活発(GitHub のスター数が多い )

  3. ビルトインの Git(ギット)が優秀

  4. TypoeScript のサポート(VSCode も TypoeScript も Microsoft が開発)

  5. Visual Studio Online(ブラウザで使用)が開発中で、将来性も抜群

-

(2). VS Codeの使い方講座!日本語化する拡張機能のインストールも紹介!

 2:30  VSCode の使い方の説明〜

-

  1. 全部を覚えようとしなくて良い

  2. とりあえず触ってみる

  3. 拡張機能は必要になったときに入れます

  4. ファイルの拡張子をしっかり付けると、ひな型が使えます

-

(3). 【VSCode】入門者にもわかりやすい!基本操作をステップバイステップで解説!

 3:00 VSCode の使い方の説明〜

-

(4). 初心者向けVSCode使い方完全ガイド!無料で始める快適コードエディタ生活

-

 抜粋:

 00:00 オープニング
 01:14 VSCode ダウンロードとインストール
 03:08 VSCodeの日本語化
 04:13 VSCodeの画面構成と基本操作
 13:39 ワークスペースの使い方と管理方法
 18:07 覚えておくべきショートカット
 22:17 初心者におすすめの拡張機能
 28:14 便利なVSCode設定
 31:46 JSONファイルで設定する
 35:08 今日のまとめ

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- -

1-4. 「Eclipse」について:

-


1). Eclipse 公式ホームページ

-

Eclipse(エクリプス)は、効率的にプログラム開発するための統合開発環境」(IDEで、IBM 社で開発され、 その後、オープンソースとなりました。

-

無料で使え、標準で「Java」の開発環境が含まれているので、Java の開発では定番です。
プラグインの利用で、C、C++JavaScriptPHPPerlRubyPython などの言語の開発も可能です。

-

注意:

補完機能が優秀すぎて、初心者が使うと、言語(例えば、Java)のスキルが上がらないとのこと。
通常のエディタで基本の部分を学んでから、「Eclipse」で効率的に開発するのが、スキルアップのコツらしいです。

でも、取っ掛かりには良いかも。

-


2). 利点:

  1. オープンソースで、無料で使えます

  2. 高機能で安定して動きます

  3. プラグインで機能拡張できます

  4. Eclipse」そのものが Java で作られているので、 Java と相性が良いです

-


3). 便利なプラグイン:

(1). Glance

 →文字を入力するごとに検索結果を表示してくれます。

(2). Pleiades プレアデス

 →Eclipse のメッセージや表示内容を日本語化してくれます。

(3). Eclipse Color Theme

 →テキストエディタ機能にて、カラーテーマの適用で、好みの背景にカスタマイズできます。

-


4). 参考: 「Pleiades All in One」パッケージ:

-

(1). 「WindowsMac 向け」です:

Pleiades: Java 統合開発環境 Eclipse 日本語化プロジェクト」からダウンロード:

-

Eclipse 単体、日本語化プラグイン、便利でよく使われるプラグイン、などをまとめてインストールできるパッケージで、多すぎるプラグインに悩まずに、Eclipse のインストールができます:

-

(2). 「Linux」で使う場合は、All in One ではなく「Pleiades プラグイン」をダウンロードします:

Preparing to download Eclipse Pleiades plugin」からダウンロード:

→zip を解凍して readme.txt を参照し、手動で Pleiades を配置し、設定ファイルを編集します:

-


5). 「Eclipse」の使い方 参考になりそうな動画:

-

 WindowsJava 開発環境 をインストールしていますが、インストールのやり方以外は参考になります:

-

 00:00 今回のテーマ
 00:48 Eclipseとは
 02:24 使うメリット
 05:50 「Pleiades All in One」をインストール Linux は未対応)
 10:34 起動
 11:37 パースペクティブ
 12:22 プログラム作成 ①
 14:30 初期設定
 16:37 プログラム作成 ②
 17:34 実行
 18:07 機能紹介

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- --

2. Ubuntu に、「C/C++」言語の最小限の開発環境をインストールする場合:

-

Xubuntu 24.04 LTS」、および「Ubuntu Cinnamon 24.04 LTS」で確認:

-

参考:

UbuntuでC, C++の開発環境をインストールしてHelloWorldしよう!

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ---

2-1. Ubuntu に、「C/C++」言語の最小限の開発環境をインストール:

-

1). Ubuntu には、標準でコンパイラが入っています:

-

(1). Xubuntu 24.04.2 LTS の状態:

2025-07-07 現在:

$ cat /etc/lsb-release
:
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=24.04
DISTRIB_CODENAME=noble
DISTRIB_DESCRIPTION="Ubuntu 24.04.2 LTS"
$ uname -r
6.8.0-63-generic

-

(2). 「C」言語のコンパイラがあるか確認:
$ gcc --version
:
gcc (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0
Copyright (C) 2023 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」は、 「C」言語のコンパイラのひとつで、無料で使えます:

-

(3). 「C++」言語のコンパイラがあるか確認:
$ g++ --version
:
g++ (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0
Copyright (C) 2023 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.

→「g++」は、「C++」言語のコンパイラのひとつで、無料で使えます:

-

2). Ubuntu に、プログラムをビルドするときに必要なツールをインストール:

$ sudo apt install build-essential
:
build-essential はすでに最新バージョン (12.10ubuntu1) です。

Ubuntuリポジトリにある、build-essential には C コンパイラgcc」、C++ コンパイラ「g++」、「make」、デバッガ「gdb」などのツールが含まれます:

-

3). 「項番 2)」で、一緒にインストールされたパッケージを確認:

$ apt list build-essential
:
build-essential/noble,now 12.10ubuntu1 amd64 [インストール済み]

→「自動」が付いていないことに注目

-

$ apt list gcc
:
gcc/noble,now 4:13.2.0-7ubuntu1 amd64 [インストール済み、自動]
$ apt list g++
:
g++/noble,now 4:13.2.0-7ubuntu1 amd64 [インストール済み、自動]
$ apt list make
:
make/noble,now 4.3-4.1build2 amd64 [インストール済み、自動]
$ apt list gdb
:
gdb/noble,now 15.0.50.20240403-0ubuntu1 amd64 [インストール済み、自動]
$ apt list perl
:
perl/noble-updates,noble-security,now 5.38.2-3.2ubuntu0.1 amd64 [インストール済み、自動]

→「自動」が付いていることに注目

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----

2-2. 「C」言語の「HelloWorld」を実行してみる:

-

1). 作業フォルダを作成して移動:

$ mkdir -p ~/ダウンロード/test-C
$ cd ~/ダウンロード/test-C/

-

2). ソースの hello.c ファイルを作成:

$ nano hello.c
#include <stdio.h>

int main(void)
{
    printf("Hello World!\n");

    return 0;
}

Crtl+O で書き込むファイルを確認して、Enter

Ctrl+X で終了

-

確認:

$ cat hello.c

-

3). コンパイルして、実行:

コンパイル:

$ gcc -o hello hello.c
$

-

確認:

$ ls -1
hello
hello.c

-

実行:

$ ./hello
Hello World!

-

もしくは、まとめて実行:
$ gcc -o hello hello.c && ./hello
Hello World!

-

-


4). 参考: 出力ファイル名を指定せずに、コンパイルしてみる:

-

(1). 作業前:
$ cd ~/ダウンロード/test-C/
$ ls -lA
:
-rw-rw-r-- 1 ubn ubn    84  2月  2 10:50 hello.c
-rw-rw-r-- 1 ubn ubn    97  2月  2 11:06 hello.cpp

-

(2). 出力ファイル名を指定せずに、コンパイル:
$ gcc hello.c
$ ls -lA
:
-rwxrwxr-x 1 ubn ubn 15960  7月  7 19:47 a.out  ←(注目)
-rw-rw-r-- 1 ubn ubn    84  2月  2 10:50 hello.c
-rw-rw-r-- 1 ubn ubn    97  2月  2 11:06 hello.cpp
コンパイル時に出力名を指定しないと、ファイル名は「a.out」になります:

-

(3). 出力ファイル名を指定して、コンパイル:
$ gcc -o hello hello.c
$ ls -lA
:
-rwxrwxr-x 1 ubn ubn 15960  7月  7 19:47 a.out
-rwxrwxr-x 1 ubn ubn 15960  7月  7 19:55 hello  ←(注目)
-rw-rw-r-- 1 ubn ubn    84  2月  2 10:50 hello.c
-rw-rw-r-- 1 ubn ubn    97  2月  2 11:06 hello.cpp

→ファイル属性が同じことに注目:

-

(4). 実行してみる:
$ ./a.out
Hello World!
$ ./hello
Hello World!

→どちらも実行できます:
 ただし、「a.out」は、上書きされるリスクが高いです:

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- -----

2-3. 「C++」言語の「HelloWorld」を実行してみる:

-

1). 作業フォルダに移動:

$ cd ~/ダウンロード/test-C/

-

2). ソースの hello.cpp ファイルを作成:

$ nano hello.cpp
#include <iostream>

int main()
{
    std::cout << "Hello World!" << std::endl;

    return 0;
}

説明:

1. C++ 標準ライブラリの入出力ストリームを使うのに必要なヘッダファイルを取り込み
2. C++ プログラムのエントリーポイントとなる関数を宣言(ここからプログラムの実行が始まります)
3. 標準出力ストリーム(std::cout)に”Hello World!”という文字列を出力し、その後に改行(std::endl)
4. (return 0;)で、プログラムが正常に終了したことをOSに通知

確認:

$ cat hello.cpp

-

3). コンパイルして、実行:

コンパイル:

$ g++ -o hello hello.cpp
$

-

確認:

$ ls -l
:
-rwxrwxr-x 1 vagrant vagrant 16504  7月  2 23:59 hello      ←「実行ファイル」
-rw-rw-r-- 1 vagrant vagrant    85  7月  2 23:55 hello.c
-rw-rw-r-- 1 vagrant vagrant    98  7月  2 23:59 hello.cpp

実行:

$ ./hello
Hello World!

-

もしくは、まとめて実行:
$ g++ -o hello hello.cpp && ./hello
Hello World!

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- -

3. Ubuntu に、「VSCode」で「C/C++ の開発環境」をインストールする場合:

-

Xubuntu 24.04 LTS」、および「Ubuntu Cinnamon 24.04 LTS」で確認:

-

参考:

C/C++をVSCodeで開発するための環境構築

→「後半」を参考にして、トライしました:

-

-

--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ---

目次

-

(0).  事前の確認:

(1). 「VSCode」をダウンロードしてインストール:

(2). 「VSCode」の日本語化:

(3). 拡張機能の「C/C++ Extension Pack」をインストール:

(4). 拡張機能の「Code Runner」をインストール:

-

使ってみる:

(1). 「C」言語の「HelloWorld」を実行してみる:

(2). 「C++」言語の「HelloWorld」を実行してみる:

(3). 「C++」言語の実行ファイルをデバッグしてみる:

-

-


事前の確認:

1). 「snap」パッケージの「VSCode」がインストールされていないか確認:

$ snap list
:
Name              Version         Rev   Tracking         Publisher   Notes
bare              1.0             5     latest/stable    canonical✓  base
core22            20250528        2010  latest/stable    canonical✓  base
firmware-updater  0+git.22198be   167   latest/stable/…  canonical✓  -
gnome-42-2204     0+git.38ea591   202   latest/stable/…  canonical✓  -
gtk-common-themes 0.1-81-g442e511 1535  latest/stable/…  canonical✓  -
snap-store        0+git.90575829  1270  latest/stable/…  canonical✓  -
snapd             2.68.5          24718 latest/stable    canonical✓  snapd
snapd-desktop-int 0.9             315   latest/stable/…  canonical✓  -
thunderbird       128.12.0esr-1   751   latest/stable/…  canonical✓  -

→「snap」パッケージのインストールはなくても、デフォルトでいくつかのパッケージがインストールされています。

-


2). 「snap」パッケージの「VSCode」を確認:

$ snap search code
:
Name        Version     Publisher     Notes    Summary
code        2901c5ac    vscode✓       classic  Code editing. Redefined.
:

→「snap」パッケージとしてインストールできるみたい。

-

「snap」パッケージとしてインストールすると簡単ですが、色々と制限が出る場合があるようなので、

今回は「VSCode」をダウンロードしてインストールしました:

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- --

3-1. Ubuntu に、「VSCode」をダウンロードしてインストール:

-


1). 作業フォルダを作成:

$ mkdir -p ~/ダウンロード/apps/

-


2). 「.deb」パッケージ (64 ビット) を手動でダウンロード:

-

(1). 「Download Visual Studio Code - Mac, Linux, Windows」をブラウザで開きます:

-

-

(2). ペンギンの下にある大きな「↓ .deb」ボタンをクリック:

→最新の「code_1.101.2-1750797935_amd64.debパッケージがダウンロードされました:

-

(3). ダウンロードした「.deb」ファイルを、「~/ダウンロード/apps/」フォルダにマウスで移動:

-

(4). ファイルの確認:
$ ls -1 ~/ダウンロード/apps/
:
code_1.101.2-1750797935_amd64.deb

-


3). 「.deb」パッケージをインストール:

$ cd ~/ダウンロード/apps/
$ sudo apt install ./code_1.101.2-1750797935_amd64.deb
:
以下のパッケージが新たにインストールされます:
  code
:
code (1.101.2-1750797935) を展開しています...
code (1.101.2-1750797935) を設定しています ...

「code を設定しています」画面が表示:

The installer would like to add the Microsoft repository and signing key to update VS Code through apt. 
  Add Microsoft apt repository for Visual Studio Code?    

和訳:

インストーラーは、Microsoft リポジトリと署名キーを追加して、
APT を介して VSCode を更新します。
Visual Studio CodeMicrosoft APTリポジトリを追加しますか?

→「はい」が選ばれているので、Enter

shared-mime-info (2.4-4) のトリガを処理しています ...
desktop-file-utils (0.27-2build1) のトリガを処理しています ...
N: ファイル '/home/vagrant/ダウンロード/apps/code_1.101.2-1750797935_amd64.deb' がユーザ '_apt' からアクセスできないため、ダウンロードは root でサンドボックスを通さずに行われます。 - pkgAcquire::Run (13: 許可がありません)
vagrant@vagrant:~/ダウンロード/apps$ 

→「.deb」パッケージをインストールすると、「code」がローカルにインストールされます:

$ apt list code
:
code/now 1.101.2-1750797935 amd64 [インストール済み、ローカル]

→「code」がインストールされました。「ローカル」の表示に注目:

ただし、一緒に、「apt リポジトリ」と「署名キー」のインストールを許可したので、キャッシュを更新すれば、apt での更新ができるようになります:

-


4). パッケージのキャッシュを更新:

$ cd
$ sudo apt update
:
取得:1 https://packages.microsoft.com/repos/code stable InRelease [3,590 B]    ←(追加: code のリポジトリ)
取得:2 https://packages.microsoft.com/repos/code stable/main armhf Packages [19.7 kB]  ←(追加)不要
取得:3 https://packages.microsoft.com/repos/code stable/main amd64 Packages [19.6 kB]  ←(追加)
取得:4 https://packages.microsoft.com/repos/code stable/main arm64 Packages [19.6 kB]  ←(追加)不要
ヒット:5 http://jp.archive.ubuntu.com/ubuntu noble InRelease                                          
取得:6 http://jp.archive.ubuntu.com/ubuntu noble-updates InRelease [126 kB]                     
取得:7 http://security.ubuntu.com/ubuntu noble-security InRelease [126 kB]                      
ヒット:8 http://jp.archive.ubuntu.com/ubuntu noble-backports InRelease
取得:9 http://security.ubuntu.com/ubuntu noble-security/main amd64 Packages [958 kB]
取得:10 http://jp.archive.ubuntu.com/ubuntu noble-updates/main amd64 Packages [1,208 kB]
取得:11 http://security.ubuntu.com/ubuntu noble-security/main Translation-en [172 kB]
取得:12 http://security.ubuntu.com/ubuntu noble-security/main amd64 Components [21.6 kB]
取得:13 http://security.ubuntu.com/ubuntu noble-security/restricted amd64 Components [212 B]          
取得:14 http://security.ubuntu.com/ubuntu noble-security/universe amd64 Packages [869 kB]        
取得:15 http://security.ubuntu.com/ubuntu noble-security/universe Translation-en [190 kB]            
取得:16 http://security.ubuntu.com/ubuntu noble-security/universe amd64 Components [52.2 kB]       
取得:17 http://security.ubuntu.com/ubuntu noble-security/multiverse amd64 Packages [18.5 kB]          
取得:18 http://security.ubuntu.com/ubuntu noble-security/multiverse Translation-en [4,288 B]     
取得:19 http://security.ubuntu.com/ubuntu noble-security/multiverse amd64 Components [212 B]          
取得:20 http://jp.archive.ubuntu.com/ubuntu noble-updates/main amd64 Components [161 kB]     
取得:21 http://jp.archive.ubuntu.com/ubuntu noble-updates/restricted amd64 Components [212 B]
取得:22 http://jp.archive.ubuntu.com/ubuntu noble-updates/universe amd64 Packages [1,098 kB]
取得:23 http://jp.archive.ubuntu.com/ubuntu noble-updates/universe amd64 Components [377 kB]
取得:24 http://jp.archive.ubuntu.com/ubuntu noble-updates/multiverse amd64 Components [940 B]
5,447 kB を 5秒 で取得しました (1,052 kB/s)
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了
状態情報を読み取っています... 完了        
パッケージはすべて最新です。

→「microsoft」のリポジトリが 4つ追加されました:

ただし、うち2つは CPU アーキテクチャが違うので要りません:

-


5). インストールの状態を確認:

$ apt list code
:
code/stable,now 1.101.2-1750797935 amd64 [インストール済み]
code/stable 1.101.2-1750797955 arm64  ←(不要なリポジトリ)
code/stable 1.101.2-1750797943 armhf  ←(不要なリポジトリ)

→「.deb」ファイルのインストールだったのに、「ローカル」の表示がされていないことに注目:

リポジトリの追加で、「ローカル」の表示が消えて、通常のパッケージをインストールしたときと同じ状態になりました。

-


6). 試しに、apt でパッケージをインストールできるか確認:

$ sudo apt install code
:
code はすでに最新バージョン (1.101.2-1750797935) です。

→できます:

-

存在とパスの確認:

$ which code
:
/usr/bin/code

-


7). 参考: 「code」パッケージを更新する場合:

→通常の apt での「システム更新」で、更新されます。

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ---

3-2. 「VSCode」の起動:

-

1). 「VSCode」を起動:

ゲストOS の場合は、ssh 接続だと、「VSCode」は起動できなかったので、 GUI 画面で操作:

-

(1). 「端末」を起動して、コマンドで起動:
$ code

-

もしくは、

(2). Menu →「プログラミング」→「Visual Studio Code

-

→画面が表示されるまでに 10秒ほどかかります

-

2). 「VSCode」が起動されました:

「Wolkthrough: Setup VSCode」タブが英語で表示:

 AI の「Copilot」を使える設定にできるみたい:

-

3). この辺りは不要なので、左上の「< Welcome」をクリック:

ページが移動:

→英語で表示:

右の「Get Started with VS code」で元の画面に戻れます

-

今までであれば、

起動したときに、画面の右下に「表示言語を日本語に変更するには言語パッケージをインストールします。」の表示があり、それをクリックするだけで「日本語化」できました。

→今回は表示されません。

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----

3-3. 「VSCode」の日本語化:

-

拡張機能の「Japanese Language Pack for Visual Studio Code」をインストールします:

-

1). 「VSCode」を起動:

→英語で表示:

-

2). 左の一番下の「拡張機能」(4個のブロック)アイコンをクリック:

→サイド バーに「拡張機能」ビューが開きました:

-

3). 上部の検索窓に「japan」と入力:

-

4). 表示された一覧で、一番上の「Japanese Language Pack for Visual Studio Code」を選択:

-

5). 水色の「Install」(インストール)ボタンをクリック

-

6). 「Install」(インストール)ボタンが、「Uninstall」(アンインストール)に変われば、インストールは完了:

-

7). 右下に水色で「Change Language and Restart」と表示されたので、クリック:

→「VSCode」が再起動されました:

-

→「Wolkthrough: Setup VSCode」タブが、日本語の「チュートリアル: VS Code のセットアップ」の表示になりました:

-

8). こちらのタブでは、初期設定のガイドが表示されます:

→すべて設定しなくても、必要なものだけ、設定すれば良いと思います。

設定した項目には、設定済の青いチェックが付きます。

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- -----

3-4. 「VSCode」に、拡張機能の「C/C++ Extension Pack」をインストール:

-

1). 「VSCode」を起動:

-

2). 左の一番下の「拡張機能」(4個のブロック)アイコンをクリック:

→サイド バーに「拡張機能」ビューが開きます:

-

3). 「拡張機能」の検索窓に「C/C++ E」と入力:

-

4). 表示された一覧で、一番上のMicrosoft の「C/C++ Extension Pack」の拡張機能を選択:

-

5). 水色の 「インストール」ボタンをクリック:

-

6). 「インストール」ボタンが、「無効にする」と「アンインストール」に変われば、インストールは完了:

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- -

3-5. 「VSCode」に、拡張機能の「Code Runner」をインストール:

-

「Code Runner」は、様々なプログラミング言語のコードを簡単に実行できるようにする「拡張機能」です:

-

「Run Code」(Ctrl+Alt+N) という機能が使えるようになります:

例えば、ソースコードを実行するとき、gccコンパイラコマンドを入れなくても、右上に追加された「実行」ボタンで行えます。難点はコマンドを忘れます:

-

1). 「VSCode」を起動:

-

2). 左の一番下の「拡張機能」(4個のブロック)アイコンをクリック:

→サイド バーに「拡張機能」ビューが開きます:

-

3). 「拡張機能」の検索窓に「Code Run」と入力:

-

4). 表示された一覧で、一番上の「Code Runner」の拡張機能を選択:

-

5). 水色の「インストール」ボタンをクリック:

「発行元を信頼してインストールしますか?」画面が表示:

→「発行元を信頼してインストールする」をクリック

-

6). 「インストール」ボタンが、「無効にする」と「アンインストール」に変われば、インストールは完了:

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- --

3-6. 「VSCode」で、「C」言語の「HelloWorld」を実行してみる:

-

C 言語のコンパイラ (gcc) がインストールされていることが前提です:

拡張機能「Code Runner」をインストールすると、VSCode 上で直接実行できます:
hello.c ファイルを開いた状態で、右クリックして「Run Code」を選択するか、Ctrl+Alt+N を押すと実行します。

-

1). VSCodeで新しいファイルを作成:

-

フォルダ名: 「~/ダウンロード/test-C」

ファイル名: 「hello.c」(拡張子は必ず .c)

#include <stdio.h>

int main(void) {
    printf("Hello World!\n");

    return 0;
}

-

2). VSCodeで「ターミナル」→「新しいターミナル」を選択し、ターミナルを開きます:

-

3). コンパイル:

$ gcc hello.c -o hello
$

コンパイルが成功すると、実行ファイル(hello)が生成されます

-

確認:

$ pwd
/home/vagrant/ダウンロード/test-C
$ ls -lA
:
-rwxrwxr-x 1 vagrant vagrant 15960  7月  7 14:08 hello  ←(実行ファイル)
-rw-rw-r-- 1 vagrant vagrant    85  7月  2 23:55 hello.c
-rw-rw-r-- 1 vagrant vagrant    98  7月  2 23:59 hello.cpp

-

4). 実行:

$ ./hello

-

結果:



Hello, World!

-

項番 2-2」と同じことを行っていますが、

ひとつのアプリで、(今のところ、)「ファイルマネージャ」、「テキストエディタ」、「端末」(ターミナル)の機能が使えています:

-

また、問題があれば、「問題」タブをクリックすれば、問題点を指摘してもらえます:

-


5). 「Code Runner」のボタンが見つからないので、「Code Runner」の設定を見直し:

-

(1). 左の(4つの四角のブロック)「拡張機能」ボタンをクリック(もしくは、Ctrl+Shift+X)

→インストール済みの「拡張機能」が表示:

-

(2). Code Runner の 「歯車」のアイコン をクリック→「設定」

→上部に「設定」タブが開きます:

-

(3). スクロールして、

「Run In Terminal」にチェック:

-

今までの操作:

-

(4). 上部の「設定」タブを「x」で閉じました:

-

(5). VSCode を再起動:

-

(6). 左の上の「エクスプローラー」ボタンで、ソースファイルを開きます:

-

(7). ソースファイルの右上の「▷のデバッグ」ボタンの右の「v」ボタン(下の画像の赤印)をクリックして、

「Run Code (Ctrl+Alt+N)」を選び、クリック:

(コンパイラを尋ねられたら gcc を選択します)

-

(8). 下部に ターミナル が表示:

-

今までの操作:

→下の「ターミナル」にて、ソースファイルが自動でビルドされ、実行されました:

-

「ターミナル」部分:

→色分けされて表示され、見やすいです:

-

抜粋:

vagrant@vagrant:~/ダウンロード/test-C$ cd "/home/vagrant/ダウンロード/test-C/" && gcc hello.c -o hello && "/home/vagrant/ダウンロード/test-C/"hello
Hello World!

vagrant@vagrant:~/ダウンロード/test-C$ 

→「Hello World!」と表示されました:

vagrant で作成した「仮想マシン」の「Ubuntu Cinnamon」が「ゲストOS」なので、ユーザ名は「vagrant」です:

ちなみに、ホスト名(コンピュータ名)は慣習の「vagrant」に修正しています:

-

(9). 参考: 実行された内容を分解すると、
$ cd "/home/vagrant/ダウンロード/test-C/" 
$ gcc hello.c -o hello
$ "/home/vagrant/ダウンロード/test-C/"hello

→「プロジェクトの絶対パス」(フォルダの位置)が記憶されており、利用されています:

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- ---

3-7. 「VSCode」で、「C++」言語の「HelloWorld」を実行してみる:

-

C++ 言語のコンパイラ (g++) がインストールされていることが前提です:

拡張機能「Code Runner」をインストールすると、VSCode 上で直接実行できます:
hello.cpp ファイルを開いた状態で、右クリックして「Run Code」を選択するか、Ctrl+Alt+N を押すと実行します。

-

1). VSCodeで新しいファイルを作成:

ファイル名: 「hello.cpp」(拡張子は必ず .cpp)

#include <iostream>

int main() {
    std::cout << "Hello, World!" << std::endl;

    return 0;
}

-

2). VSCodeで「ターミナル」→「新しいターミナル」を選択し、ターミナルを開きます:

-

3). コンパイル:

g++ hello.cpp -o hello

コンパイルが成功すると、実行ファイルが生成されます(hello)

-

4). 実行:

./hello  

-

結果:



Hello, World!

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- ----

3-8. 参考:「VSCode」で、「C/C++」言語の実行ファイルをデバッグ実行してみる:

-


1). VSCodeデバッグ機能:

VSCode にはデバッグ機能が備わっており、
コンパイル時に生成された実行ファイルを使って、デバッグ実行ができます:

「tasks.json」や「launch.json」ファイルを作成して、ビルドやデバッグの設定をカスタマイズできます:

-

機能の一覧:

ブレークポイント: プログラムの実行を一時停止する地点を設定します。
ステップ実行: コードを一行ずつ実行し、変数の値や処理の流れを確認します。
変数表示: デバッグ中に変数の値を確認できます。
ウォッチ式: 特定の変数の値を常に監視できます。
条件付きブレークポイント: 特定の条件が満たされた場合にのみブレークポイントで停止します。
ログポイント: コードの実行時にログを出力します。
デバッグコンソール: デバッグ中にコマンドを実行したり、出力を確認したりできます。
リモートデバッグ: 別のマシンで実行されているプログラムをデバッグできます。
その他: 様々な言語やフレームワークに対応した拡張機能が提供されています。

-


2). VSCode で「C/C++」の実行ファイルをデバッグ実行してみます:

ポイント:
  • 「launch.json」は、プロジェクトごとに異なる設定が必要になる場合があります。
  • processId でプロセスを指定してアタッチする場合、pickProcess コマンドでプロセスを選択できます。
  • externalConsole を true にすると、デバッグ時に外部コンソールウィンドウが開きます。
  • デバッグ中にエラーが発生した場合は、「launch.json」の設定を見直します。

-

(1). 必要な拡張機能をインストール:

VSCode で「C/C++ 拡張機能」をインストール

-

(2). 実行ファイルとデバッグツールを準備:

C/C++ の「実行ファイル」が既に存在する(プログラムをビルドしておく)必要があります。

必要に応じて、デバッグツール(GDB や LLDB)をインストールし、パスを通します。

-

(3). 「launch.json」の作成:

VSCodeデバッグビュー(左端の虫アイコン)を開き、歯車アイコンをクリックして「構成の追加」を選択します。

C++ (GDB/LLDB)」を選択すると、「launch.json」ファイルが作成されます。

-

(4). 「launch.json」を編集:
    {
      "version": "0.2.0",
      "configurations": [
        {
          "name": "C++ Attach to Process",
          "type": "cppdbg",
          "request": "attach",
          "program": "${workspaceFolder}/あなたの実行ファイル名.exe", // 実行ファイルのパス
          "processId": "${command:pickProcess}",
          "MIMode": "gdb", // または lldb
          "cwd": "${workspaceFolder}",
          "stopAtEntry": false
        },
       {
          "name": "(gdb) 起動",
          "type": "cppdbg",
          "request": "launch",
          "program": "${workspaceFolder}/あなたの実行ファイル名.exe", // 実行ファイルのパス
          "args": [],
          "stopAtEntry": false,
          "cwd": "${workspaceFolder}",
          "environment": [],
          "externalConsole": false,
          "MIMode": "gdb", // または lldb
          "setupCommands": [
            {
              "description": "デバッグ情報を有効にする",
              "text": "-enable-pretty-printing",
              "ignoreFailures": true
            }
          ]
        }
      ]
    }

program: 実行ファイルのパスを指定
MIMode: デバッグツール(gdbまたはlldb)を指定
stopAtEntry: プログラム開始時に停止するかどうかを指定(通常はfalse)
cwd: 作業ディレクトリを指定
externalConsole: 外部コンソールを使用するかどうかを指定

-

(5). ブレークポイントの設定:

デバッグしたい行にブレークポイントを設定します。

-

(6). デバッグの開始:

F5 キーを押すか、デバッグビューで「開始」ボタンをクリックしてデバッグを開始します。

-

(7). デバッグの実行:

デバッグ中に、ステップ実行(F10, F11)、変数の確認、関数の呼び出し履歴の確認などができます。

-


3). デバッガ GDB と LLDB について:

GDB と LLDB は、どちらも「デバッガ」で、プログラムのバグを見つけるツールです。

コマンドで操作し、 ブレークポイントの設定、ステップ実行、変数の表示、関数の呼び出し履歴の表示など、基本的なデバッグ機能があります。

-

(1). GDB (GNU Debugger) は、GNU プロジェクトで開発された、広く使われている「デバッガ」です:

 Linux に標準でインストールされていることが多く、 主に GNU コンパイラGCCなど)でコンパイルされたプログラムのデバッグに使用されます。

-

(2). LLDB は、LLVM プロジェクト(あらゆる時点でプログラムを最適化するよう設計された、コンパイラ基盤)の一部として開発されたデバッガです:

LLVM コンパイラ(Clangなど)でコンパイルされたプログラムのデバッグに使用されます。
GDB に似たインターフェースで、より高速で、C、C++Objective-C、Swift、アセンブリ言語など、幅広い言語に対応しています。

MacOS では Xcode のデフォルトデバッガとして組み込まれています。

-

(3). GDB のヘルプ表示:
$ gdb --version
:
GNU gdb (Ubuntu 15.0.50.20240403-0ubuntu1) 15.0.50.20240403-git

Copyright (C) 2024 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

-

$ gdb --help
:
This is the GNU debugger.  Usage:

    gdb [options] [executable-file [core-file or process-id]]
    gdb [options] --args executable-file [inferior-arguments ...]

Selection of debuggee and its files:

  --args             Arguments after executable-file are passed to inferior.
  --core=COREFILE    Analyze the core dump COREFILE.
  --exec=EXECFILE    Use EXECFILE as the executable.
  --pid=PID          Attach to running process PID.
  --directory=DIR    Search for source files in DIR.
  --se=FILE          Use FILE as symbol file and executable file.
  --symbols=SYMFILE  Read symbols from SYMFILE.
  --readnow          Fully read symbol files on first access.
  --readnever        Do not read symbol files.
  --write            Set writing into executable and core files.

Initial commands and command files:

  --command=FILE, -x Execute GDB commands from FILE.
  --init-command=FILE, -ix
             Like -x but execute commands before loading inferior.
  --eval-command=COMMAND, -ex
             Execute a single GDB command.
             May be used multiple times and in conjunction
             with --command.
  --init-eval-command=COMMAND, -iex
             Like -ex but before loading inferior.
  --nh               Do not read ~/.gdbinit.
  --nx               Do not read any .gdbinit files in any directory.

Output and user interface control:

  --fullname         Output information used by emacs-GDB interface.
  --interpreter=INTERP
             Select a specific interpreter / user interface.
  --tty=TTY          Use TTY for input/output by the program being debugged.
  -w                 Use the GUI interface.
  --nw               Do not use the GUI interface.
  --tui              Use a terminal user interface.
  -q, --quiet, --silent
             Do not print version number on startup.

Operating modes:

  --batch            Exit after processing options.
  --batch-silent     Like --batch, but suppress all gdb stdout output.
  --return-child-result
             GDB exit code will be the child's exit code.
  --configuration    Print details about GDB configuration and then exit.
  --help             Print this message and then exit.
  --version          Print version information and then exit.

Remote debugging options:

  -b BAUDRATE        Set serial port baud rate used for remote debugging.
  -l TIMEOUT         Set timeout in seconds for remote debugging.

Other options:

  --cd=DIR           Change current directory to DIR.
  --data-directory=DIR, -D
             Set GDB's data-directory to DIR.

At startup, GDB reads the following early init files and executes their
commands:
   None found.

At startup, GDB reads the following init files and executes their commands:
   * system-wide init files: /etc/gdb/gdbinit

For more information, type "help" from within GDB, or consult the
GDB manual (available as on-line info or a printed manual).

Report bugs to <https://www.gnu.org/software/gdb/bugs/>.

You can ask GDB-related questions on the GDB users mailing list
(gdb@sourceware.org) or on GDB's IRC channel (#gdb on Libera.Chat).

-

(4). C 言語のデバッガ 参考になりそうなサイト:

-


4). C 言語のデバッグ操作 参考になりそうな動画:

-

 C 言語のデバッグVSCode と内臓のターミナルを使っています:

 0:55 「printf」を使ったデバッグ
 3:00 「gdb デバッガ」を使ったデバッグ

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- -----

4. Ubuntu に、統合開発環境IDE)の「Eclipse」で「C/C++ の開発環境」をインストールする場合:

-

Xubuntu 24.04 LTS」、および「Ubuntu Cinnamon 24.04 LTS」で確認:

-

-

--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ---

目次

-

(1). 「Eclipse」のインストール:

(2). 「Eclipse」の日本語化:

(3).  既存の「Eclipse」に、「C/C++ 開発ツール」 (CDT)プラグインを追加インストールする場合:

-

使ってみる:

(1). 「C」言語の「HelloWorld」を実行してみる:

(2). 「C++」言語の「HelloWorld」を実行してみる:

-

- --- - --- - --- - --- - --- - --- - --- - --- - ---

4-1. 新しく「Eclipse」をインストールする場合:

-

参考:

JavaのIDEであるEclipseのUbuntuにおける日本語化について

2023年04月03日

-


1). ダウンロード:

-

(1). Eclipse 公式ホームページ をブラウザで開きます:

→右上のオレンジ色の「Download」ボタンをクリック

-

(2). 画面が変わりました:

↓ 画面を下にスクロールすると、
オレンジ色の「Download」ボタンがありました:

-

(3). 画面中ほどのオレンジ色の「Download」ボタンをクリック:

選択肢が表示されるので:

→「Download x86_64」を選択

-

(4). ダウンロード画面が表示:

-

(5). 画面中央の「Download」ボタンをクリック:

→「eclipse-inst-jre-linux64.tar.gz」がダウンロードされました:

-

(6). ブラウザの左上の「←」ボタンで、画面を戻ります:

-

(7). 画面中央の「Download」ボタンの下の「SHA-512」をクリック:

→画面の下部に「チェックサム値」が表示:

-

-

抜粋:

a0d52144d3f0fca7c00ada4171ddcce8de256f4ab11b8af3859c3d8daec81ca485a14b7a2cd2380555bc8b71891cac8257b6f219edb3b5347e04f759706fc94e  eclipse-inst-jre-linux64.tar.gz

-

(8). 作業フォルダを作成:
$ mkdir -p ~/ダウンロード/apps/eclipse

-

(9). ファイルマネージャで、ダウンロードしたファイルを「~/ダウンロード/apps/eclipse」フォルダに移動:

確認:

$ cd ~/ダウンロード/apps/eclipse/
$ ls -lA
:
-rw-rw-r--  1 ubn ubn 118465305  7月  4 07:16  eclipse-inst-jre-linux64.tar.gz      ←「注目」

-

(10). チェックサムの確認:
$ sha512sum eclipse-inst-jre-linux64.tar.gz
:
a0d52144d3f0fca7c00ada4171ddcce8de256f4ab11b8af3859c3d8daec81ca485a14b7a2cd2380555bc8b71891cac8257b6f219edb3b5347e04f759706fc94e  eclipse-inst-jre-linux64.tar.gz

-

(11). ダウンロードした Eclipse パッケージを展開:
$ cd ~/ダウンロード/apps/eclipse/
$ tar -zxvf eclipse-inst-jre-linux64.tar.gz
:
$

-

(12). 確認:
$ cd ~/ダウンロード/apps/eclipse/
$ ls -lA
:
-rw-rw-r-- 1 ubn ubn 118465305  7月  4 07:16 eclipse-inst-jre-linux64.tar.gz
drwxr-xr-x 7 ubn ubn      4096  6月  4 23:34 eclipse-installer       ←「注目」

→フォルダがひとつ作成されました:

-

(13). 作成されたフォルダを確認:
$ ls -lA eclipse-installer/
:
-rw-r--r--  1 ubn ubn  50566  6月  4 23:34 artifacts.xml
drwxr-xr-x  4 ubn ubn   4096  6月  4 23:34 configuration
-rwxr-xr-x  1 ubn ubn  89904  6月  4 23:31 eclipse-inst              ←「注目」
-rw-r--r--  1 ubn ubn    439  6月  4 23:34 eclipse-inst.ini
drwxr-xr-x 17 ubn ubn   4096  6月  4 23:34 features
-rwxr-xr-x  1 ubn ubn 134914  6月  4 23:31 icon.xpm
drwxr-xr-x  5 ubn ubn   4096  6月  4 23:34 p2
drwxr-xr-x  5 ubn ubn  20480  6月  4 23:34 plugins
drwxr-xr-x  2 ubn ubn   4096  6月  4 23:34 readme

-

参考1:

$ tree eclipse-installer
:
133 directories, 703 files

→ファイルが多いので、表示内容は省略しました:

-

隠しファイルも表示するときは:

$ tree -a eclipse-installer

-

参考2:

$ cat eclipse-installer/eclipse-inst.ini
:
-startup
plugins/org.eclipse.equinox.launcher_1.7.0.v20250519-0528.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.2.1400.v20250331-1702
--launcher.defaultAction
openFile
--launcher.appendVmargs
--launcher.XXMaxPermSize
256M
-name
Eclipse Installer
-data
@noDefault
-vm
plugins/org.eclipse.justj.openjdk.hotspot.jre.minimal.stripped.linux.x86_64_21.0.7.v20250502-0916/jre/bin/java
-vmargs
-Xms256M
-Xmx2048M

-

(14). 「readme」フォルダを確認:
$ ls -lA eclipse-installer/readme
:
-rw-r--r-- 1 ubn ubn 77479  5月 29 07:43 readme_eclipse.html

-

(15). ファイルマネージャで「readme_eclipse.html」ファイルをダブルクリック:
~/ダウンロード/apps/eclipse/eclipse-installer/readme/readme_eclipse.html

↓ ダブルクリック

(16). ブラウザで、「Eclipse Project Release Notes」画面が表示されました:

英語です:

「リリースノート」で、インストールに関しては、あまり役に立たないみたい。

-


2). 「Eclipse」のインストール:

-

(1). インストーラの「eclipse-inst」を実行:
$ cd ~/ダウンロード/apps/eclipse/eclipse-installer/
$ ./eclipse-inst

→「eclipse installer」が立ち上がりました:

-

→インストールする環境を選べます:

-

(2). 参考: 右上の「設定」アイコンに「!」が表示された場合は、クリック→「Update」→「Accept」

アップデート後、「eclipse installer」が再起動されます:

-

(3). 「Eclipse IDE for C/C++ Developers」をクリック:

→「Eclipse IDE for C/C++ Developers」画面が表示:

-

Installation Folder
「/home/ubn/eclipse/cpp-2025-06」  ←「自動入力」

「create start menu entry」にチェック

「create desktop shortcut」のチェックを外しました

-

(4). オレンジ色の「INSTALL」をクリック

-

(5). インストール中:

しばらく時間がかかります:

-

途中、黄色いメッセージが表示されました:

Artifact download is progressing very slowly from https://mirror.library.ucy.ac.sy

和訳:

Artifact のダウンロードは、https://mirror.library.ucy.ac.sy から非常にゆっくりと進んでいます

-

(6). インストール完了:

→緑色の「LAUNCH」をクリック:

-

(7). 「Select a directory as workspace」画面が表示:

/home/ubn/eclipse-workspace  ←「自動で入力」

→そのまま、右下の水色の「Launch」をクリック

-

(8). Eclipse が起動:

→英語です

-

しばらくすると、ブラウザに 「スポンサーを募集する」画面が表示:

-

(9). 起動できるのを確認したので、右上の「x」で閉じました:

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- ----- -

4-2. 「Eclipse」の日本語化:

-

  • 厳密には「Pleiades」(プレアデス)は Eclipse プラグインではなく、AOP を利用した翻訳コンテナです:
     →「Eclipse」のバージョンに依存しないのが利点です

  • ヘルプは日本語化されません:

-


1). 日本語化プラグインの「pleiades.zip」をダウンロード:

-

(1). Pleiades: Java 統合開発環境 Eclipse 日本語化プロジェクト をブラウザで開きます:

-

(2). スクロールして、「Pleiades プラグイン・ダウンロード」の項目を表示:

-

(3). 紺色の「Linux」をクリック

-

(4). ダウンロードが開始されない場合:

今回は、ブラウザでブロックされてしまったので、下記をクリックしました:

Preparing to download Eclipse Pleiades plugin

→「pleiades.zip」がダウンロードされました

-


2). ファイルマネージャで、ダウンロードしたファイルを「~/ダウンロード/apps/eclipse/」フォルダに移動:

$ cd ~/ダウンロード/apps/eclipse/
$ ls -lA
:
-rw-rw-r-- 1 ubn ubn 118465305  7月  4 07:16 eclipse-inst-jre-linux64.tar.gz
drwxr-xr-x 7 ubn ubn      4096  6月  4 23:34 eclipse-installer
-rw-rw-r-- 1 ubn ubn   7909484  7月  4 18:06 pleiades.zip       ←「追加」

-


3). ダウンロードしたファイルを展開:

$ cd ~/ダウンロード/apps/eclipse/
$ unzip pleiades.zip
$

確認:

$ cd ~/ダウンロード/apps/eclipse/
$ ls -lA
:
-rw-rw-r-- 1 ubn ubn 118465305  7月  4 07:16  eclipse-inst-jre-linux64.tar.gz
drwxr-xr-x 7 ubn ubn      4096  6月  4 23:34  eclipse-installer
-rw-r--r-- 1 ubn ubn       296 11月  3  2017 'eclipse.exe -clean.cmd'           ←「追加」
drwxr-xr-x 3 ubn ubn      4096  6月 15 12:29  features           ←「追加」
-rw-r--r-- 1 ubn ubn         0  6月 15 12:29  pleiades-2025.06.15           ←「追加」
-rw-rw-r-- 1 ubn ubn   7909484  7月  4 18:06  pleiades.zip
drwxr-xr-x 3 ubn ubn      4096  6月 15 12:29  plugins           ←「追加」
drwxr-xr-x 2 ubn ubn      4096  6月 10 19:19  readme           ←「追加」

-

$ ls -1 readme/
readme_pleiades.txt
readme_pleiades_changes.txt

-


4). readme_pleiades.txt ファイルの内容を確認:

$ less readme/readme_pleiades.txt

抜粋:

Linux の場合の pleiades のインストール手順:
1. pleiades_x.x.x.zip を解凍し、
   plugins、features ディレクトリを <ECLIPSE_HOME> ディレクトリにコピー
  (<ECLIPSE_HOME> は Eclipse デフォルトの plugins や features があるディレクトリ)

2. eclipse.ini の最終行に以下の 2 行を追加。
   Linux の場合、pleiades.jar は絶対パスで指定してください。

   -Xverify:none
   -javaagent:<ECLIPSE_HOME>/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar

3. Pleiades スプラッシュ画像を使う場合は
   eclipse.ini の -showsplash org.eclipse.platform (実際は 2 行) を削除。
注意
Pleiades を更新したり、他のプラグインを追加・更新した場合は
必ず起動オプションに -clean を指定して起動してください。

→q で終了:

-


5). <ECLIPSE_HOME> の確認:

$ ls -lA ~/eclipse/cpp-2025-06/eclipse/
:
-rw-rw-r--  1 ubn ubn     61  5月 28 22:43 .eclipseproduct
drwxrwxr-x 11 ubn ubn   4096  7月  4 17:52 configuration
drwxrwxr-x  2 ubn ubn   4096  7月  4 17:48 dropins
-rwxr-xr-x  1 ubn ubn  89904  6月  5 13:17 eclipse
-rw-rw-r--  1 ubn ubn   1574  7月  4 17:48 eclipse.ini      ←「注目」
-rwxr-xr-x  1 ubn ubn 140566  6月  5 13:17 icon.xpm
-rw-rw-r--  1 ubn ubn   9260  6月  4 19:03 notice.html
drwxrwxr-x  2 ubn ubn   4096  7月  4 17:48 plugins          ←「注目」
drwxrwxr-x  2 ubn ubn   4096  7月  4 17:48 readme

-


6). コピー:

-

(1). コピー元:
$ ls -lA ~/ダウンロード/apps/eclipse/
:
-rw-rw-r-- 1 ubn ubn 118465305  7月  4 07:16  eclipse-inst-jre-linux64.tar.gz
drwxr-xr-x 7 ubn ubn      4096  6月  4 23:34  eclipse-installer
-rw-r--r-- 1 ubn ubn       296 11月  3  2017 'eclipse.exe -clean.cmd'
drwxr-xr-x 3 ubn ubn      4096  6月 15 12:29  features      ←「注目」
-rw-r--r-- 1 ubn ubn         0  6月 15 12:29  pleiades-2025.06.15
-rw-rw-r-- 1 ubn ubn   7909484  7月  4 18:06  pleiades.zip
drwxr-xr-x 3 ubn ubn      4096  6月 15 12:29  plugins      ←「注目」
drwxr-xr-x 2 ubn ubn      4096  6月 10 19:19  readme

-

(2). コピー:
$ cd ~/ダウンロード/apps/eclipse/
$ cp -R plugins/ ~/eclipse/cpp-2025-06/eclipse/
$ cp -R features/ ~/eclipse/cpp-2025-06/eclipse/

-

(3). コピーされたか確認:
$ ls -lA ~/eclipse/cpp-2025-06/eclipse/
:
-rw-rw-r--  1 ubn ubn     61  5月 28 22:43 .eclipseproduct
drwxrwxr-x 11 ubn ubn   4096  7月  4 17:52 configuration
drwxrwxr-x  2 ubn ubn   4096  7月  4 17:48 dropins
-rwxr-xr-x  1 ubn ubn  89904  6月  5 13:17 eclipse
-rw-rw-r--  1 ubn ubn   1574  7月  4 17:48 eclipse.ini
drwxr-xr-x  3 ubn ubn   4096  7月  4 19:24 features      ←「日時に注目」
-rwxr-xr-x  1 ubn ubn 140566  6月  5 13:17 icon.xpm
-rw-rw-r--  1 ubn ubn   9260  6月  4 19:03 notice.html
drwxrwxr-x  3 ubn ubn   4096  7月  4 19:24 plugins      ←「日時に注目」
drwxrwxr-x  2 ubn ubn   4096  7月  4 17:48 readme

-

$  ls -lA ~/eclipse/cpp-2025-06/eclipse/plugins/
:
drwxr-xr-x 5 ubn ubn  4096  7月  4 19:24 jp.sourceforge.mergedoc.pleiades      ←「注目」
-rw-rw-r-- 1 ubn ubn 52835  7月  4 17:48 org.eclipse.equinox.launcher_1.7.0.v20250519-0528.jar
$ ls -1A ~/eclipse/cpp-2025-06/eclipse/plugins/jp.sourceforge.mergedoc.pleiades/
:
META-INF
about.html
about.ini
about.properties
conf
epl-v10.html
featureImage.png
icons
pleiades.jar      ←「注目」
plugin.properties
plugin.xml

-


7). 「eclipse.ini」を編集

-

(1). 絶対パスの確認:
$ cd
$ pwd
/home/ubn

絶対パスの場合、上記で使用の「~」は「/home/ubn」に置き換えます

ここで「ubn」はユーザ名です:

-

(2). 修正に使うパスが正しいか確認:
$ ls /home/ubn/eclipse/cpp-2025-06/eclipse/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar
:
/home/ubn/eclipse/cpp-2025-06/eclipse/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar

→OK: 正しければ、パスが表示されます

-

(3). 修正:
$ nano ~/eclipse/cpp-2025-06/eclipse/eclipse.ini

絶対パスで、行を開けずに最下行に追加:

-Xverify:none
-javaagent:/home/ubn/eclipse/cpp-2025-06/eclipse/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar

Ctrl+O で書き込むファイルを確認して、Enter

Ctrl+X で終了

-


8). Eclipse を起動して、日本語化されたか確認:

-

(1). メニュー →開発 →「Eclipse IDE for C/C++ Developers」

-

(2). 「ワークスペースとしてのディレクトリー選択」画面が、日本語で表示されました:

→たぶん、この画面も(Eclipse の一部で)日本語化されたと思われます:

-

ワークスペースとしてのディレクトリが自動で表示:

「/home/ubn/eclipse-workspace」

「この選択をデフォルトにして使用し、今後この質問を表示しない」にチェック

-

(3). 右下の水色の「起動」をクリック:

-

(4). 日本語化された「Eclipse」が起動しました:

-

(5). 「ようこそ」タブを「x」で閉じました:

-


9). 参考:

-

(1). 確認:
$ cd
$ ls
:
'VirtualBox VMs'     snap           デスクトップ   ピクチャ
 eclipse             ダウンロード   ドキュメント   ミュージック
 eclipse-workspace   テンプレート   ビデオ         公開

-

$ ls eclipse/
:
cpp-2025-06
$ ls eclipse/cpp-2025-06/
:
eclipse
$ ls -1A eclipse/cpp-2025-06/eclipse
:
.eclipseproduct
configuration
dropins
eclipse
eclipse.ini
features
icon.xpm
notice.html
plugins
readme

-

(2). 「eclipse」本体のファイル構造をツリー表示:
$ tree -a ~/eclipse/
:
省略

571 directories, 2502 files

→多くの隠しファイルが含まれています:

-

(3). ワークスペース(プロジェクトの置き場)の確認:
$ ls -1A ~/eclipse-workspace/
.metadata

→まだ、プロジェクトを作成していない状態での表示です:

-

$ ls -1A ~/eclipse-workspace/.metadata/
:
.lock
.lock_info
.mylyn
.plugins
version.ini

-

(4). バージョンの表示:
$ cat ~/eclipse-workspace/.metadata/version.ini
:
#Fri Jul 04 20:23:01 JST 2025
org.eclipse.core.runtime=2
org.eclipse.platform=4.36.0.v20250528-1830

→インストールした日時がわかります:

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- ----- --

4-3. 参考: Ubuntu に、すでに「Eclipse」がインストールされている場合:

-

Java 開発」などの使用目的で、すでに「Eclipse」がインストールされている場合は、

C/C++ の開発環境」を追加でインストールします:

-

Eclipse」をインストールすると、デフォルトで「Java」の開発環境になっているので:

C++」の開発に使うときは、プラグインである、
C/C++ 開発ツール」 (CDT: C/C++ Development Tooling) のインストールが必要です。

-

1). Eclipseを起動:

-

-

2). 「メニューバー」の「ヘルプ」(Help) から「新規ソフトウェアのインストール」(Install New Software...) を選択:

-

3). 「Installウィザード」の「Work with:」で「2025-06 - http://download.eclipse.org/releases/2025-06」を選択:

→しばらく待ちます。

-

4). 「プログラミング言語」(Programming Languages) をクリックして展開し、「C/C++ 開発ツール」(C/C++ Development Tools) にチェックを入れ、「次へ」(Next) をクリック:

-

5). 「C/C++ 開発ツール」(C/C++ Development Tools) が選択されていることを確認し、「次へ」(Next) をクリック:

-

6). 「ライセンス条項」(License text) を確認し、問題がなければ「受付けます」(I accept the terms of the license agreement) にチェックを入れ、「終了」(Finish) をクリック:

-

7). 「ソフトウェアのインストール中」(Installing Software) というダイアログが表示:

→インストールが行われます。

-

8). 「ソフトウェアの更新」(Software Updates) というダイアログが表示され、Eclipse の再起動を促されるので、「Yes」をクリック:

→再起動されます。

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- ----- ---

4-4. 「Eclipse」で、「C」言語の「HelloWorld」を実行してみる:

-

1). Eclipse を起動:

-

2). 新規プロジェクトの作成:

メニューバーから「ファイル」→「新規」→「その他」を選択:

C/C++」カテゴリの「▶」をクリックして、「▼」に展開し、「C/C++ プロジェクト」を選択:

→「次へ」をクリック

-

3). 「新規 C/C++ プロジェクトのテンプレート」画面が表示:

-

「C 管理ビルド」を選択:

→「次へ」をクリック

-

4). 「C 管理ビルド」を選択すると、「C プロジェクト」画面が表示:

-

(1). プロジェクト名:「test-c」を入力

-

(2). プロジェクトタイプを選択:

例えば、実行可能ファイルを作成する場合は、
「実行可能」の下にある「空のプロジェクト」を選択:
(自動で選ばれています)

-

(3). ツールチェーンを選択:

(自動で選ばれています)

→「次へ」をクリック

-

5). 構成の選択:

デプロイしたいプラットフォームと構成を選択します
(自動で選ばれています)

→「次へ」をクリック

-

6). クロス GCC コマンド:

クロス GCC パスおよび接頭部を構成します

(空欄です)

→「完了」をクリック:

-

7). プロジェクト「test-c」が作成されました:

左側の「プロジェクトエクスプローラー」ビューに、作成したプロジェクトが表示されます。

-

8). ソースファイルの追加:

プロジェクト「test-c」を右クリック→「新規」→「ソースファイル」を選択:

ファイル名: 「hello.c」

テンプレート: 「デフォルト C ソース・テンプレート」自動選択

→「完了」をクリック

画像:

「hello.c」ファイルに、C のテンプレート(コメント)が入力されて、表示:

/*
 * hello.c
 *
 *  Created on: 2025/07/05
 *      Author: ubn
 */

→テンプレートで、「なし」を選ぶこともできます:

-

9). 作成したソースファイル「hello.c」に、 C のコードを追加:

-

/*
 * hello.c
 *
 *  Created on: 2025/07/05
 *      Author: ubn
 */

#include <stdio.h>

int main(void)
{
    printf("Hello World!\n");

    return 0;
}

-

10). 参考: フォーマット(整形):

「hello.c」ファイルを右クリックし、「ソース」→「フォーマット」を選択:

/*
 * hello.c
 *
 *  Created on: 2025/07/05
 *      Author: ubn
 */

#include <stdio.h>

int main(void) {
    printf("Hello World!\n");

    return 0;
}

→「{」の位置が変わりました:

-

11). ファイルの保存:

ファイルのタブが「*hello.c」

Ctrl+S で保存

ファイルのタブが「hello.c」に変わりました:

-

IDE の環境だと、ついつい、ファイルの保存を忘れがちなので注意:

-

12). 参考: 選択したファイル単体がビルドできるかの確認:

「hello.c」ファイルを右クリックし、「選択したファイルのビルド」

-

「コンソール」タブの表示:

01:35:45 **** Building Selected Files of configuration Debug for project test-c ****
Info: Internal Builder is used for build
gcc -O0 -g3 -Wall -c -fmessage-length=0 -o hello.o ../hello.c 

01:35:46 Build Finished. 0 errors, 0 warnings. (経過 71ms)

-

「問題」タブの表示:

0 項目

→エラーなし

-

「実行」(ビルド+リンク)はプロジェクト単位で行うので、こちらの「ファイルのビルド」ではコンパイルされるだけでリンクされておらず、「実行ファイルが存在しない」ので、エラーします

-

13). プロジェクトのビルド:

プロジェクト「test-c」を右クリックし、「プロジェクトのビルド」(選択したプロジェクトをインクリメンタル・ビルドする)

-

「コンソール」タブの表示:

01:46:10 **** ビルド of configuration Debug for project test-c ****
make all 
Building file: ../hello.c
Invoking: Cross GCC Compiler
gcc -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"hello.d" -MT"hello.o" -o "hello.o" "../hello.c"
Finished building: ../hello.c
 
Building target: test-c
Invoking: Cross GCC Linker
gcc  -o "test-c" ./hello.o   
Finished building target: test-c
 
01:46:10 Build Finished. 0 errors, 0 warnings. (経過 64ms)

-

「問題」タブの表示:

0 項目

→エラーなし

-

ワークスペースの確認:

$ ls -lA ~/eclipse-workspace/
:
drwxrwxr-x 4 ubn ubn 4096  7月  4 20:35 .metadata
drwxrwxr-x 4 ubn ubn 4096  7月  5 01:20 test-c

→プロジェクト「test-c」が作成されました:

-

プロジェクトのフォルダの確認:

$ tree -a ~/eclipse-workspace/test-c
:
/home/ubn/eclipse-workspace/test-c
├── .cproject
├── .project
├── .settings
│   ├── language.settings.xml
│   ├── org.eclipse.cdt.managedbuilder.core.prefs
│   └── org.eclipse.core.resources.prefs
├── Debug
│   ├── hello.d
│   ├── hello.o  ←(コンパイル結果: オブジェクトファイル)
│   ├── makefile
│   ├── sources.mk
│   ├── subdir.mk
│   └── test-c  ←(実行ファイル)
└── hello.c  ←(ソースファイル)

3 directories, 12 files

-

$ ls -lA ~/eclipse-workspace/test-c/Debug
:
-rw-rw-r-- 1 ubn ubn    20  7月  5 01:46 hello.d
-rw-rw-r-- 1 ubn ubn 56856  7月  5 01:46 hello.o
-rw-rw-r-- 1 ubn ubn  1314  7月  5 01:46 makefile
-rw-rw-r-- 1 ubn ubn   402  7月  5 01:46 sources.mk
-rw-rw-r-- 1 ubn ubn   731  7月  5 01:46 subdir.mk
-rwxrwxr-x 1 ubn ubn 44312  7月  5 01:46 test-c  ←(実行ファイル)

→Debug フォルダ配下に実行ファイルは作成されます:

14). 実行:

プロジェクト「test-c」を右クリックし、「実行」→「ローカル C/C++ アプリケーション」を選択:

-

「保存して起動」画面が表示:

保存するリソースを選択してください:

「/test-c/hello.c」にチェックあり

-

→「OK」

-

「コンソール」タブの表示:

Hello World!

→実行できました:

-

-


- --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ----- ----- ----

4-5. 「Eclipse」で、「C++」言語の「HelloWorld」を実行してみる:

-

1). Eclipse を起動:

画像:

-

2). 新規プロジェクトの作成:

メニューバーから「ファイル」→「新規」→「その他」を選択:

C/C++」カテゴリの「▶」をクリックして、「▼」に展開し、「C/C++ プロジェクト」を選択:

→「次へ」をクリック

-

3). 「新規 C/C++ プロジェクト」画面が表示:

C++ 管理ビルド」を選択:

→「次へ」をクリック

-

4). 「C++ 管理ビルド」を選択すると、「C++ プロジェクト」画面が表示:

プロジェクト名:「test-cpp」を入力

-

プロジェクトタイプを選択:

例えば、実行可能ファイルを作成する場合は、
「実行可能」の下にある「空のプロジェクト」を選択:
(自動で選ばれています)

-

ツールチェーンを選択:
(自動で選ばれています)

→「次へ」をクリック

-

5). 構成の選択:

デプロイしたいプラットフォームと構成を選択します
(自動で選ばれています)

→「次へ」をクリック

-

6). クロス GCC コマンド:

クロス GCC パスおよび接頭部を構成します

(空欄です)

→「完了」をクリック:

-

7). プロジェクト「test-cpp」が作成されました:

左側の「プロジェクトエクスプローラー」ビューに、作成したプロジェクトが表示されます。

-

8). ソースファイルの追加:

プロジェクト「test-cpp」を右クリック→「新規」→「ソースファイル」を選択:

ファイル名: 「hello.cpp」

テンプレート: 「デフォルト C++ ソース・テンプレート」を選びました:

→「完了」をクリック

画像:

「hello.cpp」ファイルに、C++ のテンプレート(コメント)が入力されて、表示:

/*
 * hello.cpp
 *
 *  Created on: 2025/07/05
 *      Author: ubn
 */

→テンプレートで、「なし」を選ぶこともできます:

-

9). 作成したソースファイル「hello.cpp」に、 C++ のコードを追加:

/*
 * hello.cpp
 *
 *  Created on: 2025/07/05
 *      Author: ubn
 */

#include <iostream>

int main()
{
    std::cout << "Hello World!" << std::endl;

    return 0;
}

-

10). 参考: フォーマット(整形):

「hello.cpp」ファイルを右クリックし、「ソース」→「フォーマット」を選択:

/*
 * hello.cpp
 *
 *  Created on: 2025/07/05
 *      Author: ubn
 */

#include <iostream>

int main() {
    std::cout << "Hello World!" << std::endl;

    return 0;
}

→「{」の位置が変わりました:

-

11). ファイルの保存:

ファイルのタブが「*hello.c」

Ctrl+S で保存

ファイルのタブが「hello.c」に変わりました:

-

IDE の環境だと、ついつい、ファイルの保存を忘れがちなので注意:

-

12). プロジェクトのビルド:

プロジェクト「test-cpp」を右クリックし、「プロジェクトのビルド」(選択したプロジェクトをインクリメンタル・ビルドする)

-

「コンソール」タブの表示:

03:15:47 **** ビルド of configuration Debug for project test-cpp ****
make all 
Building file: ../hello.cpp
Invoking: Cross G++ Compiler
g++ -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"hello.d" -MT"hello.o" -o "hello.o" "../hello.cpp"
Finished building: ../hello.cpp
 
Building target: test-cpp
Invoking: Cross G++ Linker
g++  -o "test-cpp" ./hello.o   
Finished building target: test-cpp
 
03:15:47 Build Finished. 0 errors, 0 warnings. (経過 266ms)

-

「問題」タブの表示:

0 項目

→エラーなし

-

ワークスペースの確認:

$ ls -lA ~/eclipse-workspace/
:
drwxrwxr-x 4 ubn ubn 4096  7月  4 20:35 .metadata
drwxrwxr-x 4 ubn ubn 4096  7月  5 01:20 test-c
drwxrwxr-x 4 ubn ubn 4096  7月  5 03:15 test-cpp  ←(追加)

→プロジェクト「test-cpp」が作成されました:

-

プロジェクトのフォルダの確認:

$ tree -a ~/eclipse-workspace/test-cpp
:
/home/ubn/eclipse-workspace/test-cpp
├── .cproject
├── .project
├── .settings
│   ├── language.settings.xml
│   └── org.eclipse.core.resources.prefs
├── Debug
│   ├── hello.d
│   ├── hello.o  ←(コンパイル結果: オブジェクトファイル)
│   ├── makefile
│   ├── sources.mk
│   ├── subdir.mk
│   └── test-cpp  ←(実行ファイル)
└── hello.cpp  ←(ソースファイル)

3 directories, 11 files

→制御フォルダは隠されているし、ビルド結果は「Debug」フォルダに格納されるので、プロジェクトフォルダ内が汚くなりません:

-

$ ls -lA ~/eclipse-workspace/test-cpp/Debug
:
-rw-rw-r-- 1 ubn ubn     22  7月  5 03:15 hello.d
-rw-rw-r-- 1 ubn ubn 206192  7月  5 03:15 hello.o
-rw-rw-r-- 1 ubn ubn   1790  7月  5 03:15 makefile
-rw-rw-r-- 1 ubn ubn    620  7月  5 03:15 sources.mk
-rw-rw-r-- 1 ubn ubn    739  7月  5 03:15 subdir.mk
-rwxrwxr-x 1 ubn ubn 113296  7月  5 03:15 test-cpp  ←(実行ファイル)

→Debug フォルダ配下に実行ファイルは作られます:

-

13). 実行:

プロジェクト「test-cpp」を右クリックし、「実行」→「ローカル C/C++ アプリケーション」を選択:

-

「コンソール」タブの表示:

Hello World!

→実行できました:

--

14). 参考: ビルドできれば「端末」からも実行できます:

ソース(C++ プログラム):

$ cat ~/eclipse-workspace/test-cpp/hello.cpp
/*
 * hello.cpp
 *
 *  Created on: 2025/07/05
 *      Author: ubn
 */

#include <iostream>

int main() {
    std::cout << "Hello World!" << std::endl;

    return 0;
}

-

Eclipse でビルドした後に、実行:

$ cd ~/eclipse-workspace/test-cpp/Debug/
$ ./test-cpp

→「.」(ドット)があることに注意:

-

結果:

Hello World!

-

ビルドやリンクのコマンドの書式を忘れたり、 複数のファイル(ファイル分割)でプログラムを作成する場合でも、Eclipse だと簡単にビルドできるので便利です:

-

-


まとめ

今回は、「Xubuntu 24.04 LTS」とゲストOS の「Ubuntu Cinnamon 24.04 LTS」(vagrant + 日本語化)に、「C/C++の開発環境」をインストールしました。

-

Xubuntu のデスクトップは軽量でストレスがないので、開発の環境に向いています。
Ubuntu Cinnamon も軽量で良いけど、起動が少し遅いのが難点。

ちなみに、色々と試すなら、ゲストOS に Xubuntu を入れて試した方が、システムが汚れません。

-

環境を構築するだけでなく、そろそろ、「C++」言語を学んでみようかな。

-

-

-


-

-

    目次

-

「投稿の先頭 へ」

-

-


-

「この目次 の先頭へ」

「本編の目次 に戻る」

-