カテゴリ: C++ 更新日: 2026/02/03

C++プロジェクトの基本構成を徹底解説!初心者向けsrc, include, buildガイド

C++プロジェクトの基本構成 (src, include, build)
C++プロジェクトの基本構成 (src, include, build)

先生と生徒の会話形式で理解しよう

生徒

「C++でプログラムを作りたいんですが、フォルダ構成がよくわかりません…。」

先生

「C++では、プロジェクトの基本構成を理解することが重要です。src、include、buildという三つの主要フォルダを覚えましょう。」

生徒

「それぞれのフォルダは何のために使うんですか?」

先生

「順番に説明します。わかりやすい例えを使って整理していきましょう。」

1. srcフォルダとは?(ソースコードをまとめる場所)

1. srcフォルダとは?(ソースコードをまとめる場所)
1. srcフォルダとは?(ソースコードをまとめる場所)

srcはソースコード(source code)を置くフォルダです。C++のプログラム本体となるファイルをまとめます。たとえると、srcは「レシピの本」のようなもので、どのように料理(プログラム)を作るかの手順が書かれています。


// src/main.cpp
#include <iostream>

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

この例ではmain.cppがsrcに置かれ、プログラムの起点となります。複数の.cppファイルがあっても、すべてsrcにまとめることで管理しやすくなります。

2. includeフォルダとは?(ヘッダファイルをまとめる場所)

2. includeフォルダとは?(ヘッダファイルをまとめる場所)
2. includeフォルダとは?(ヘッダファイルをまとめる場所)

includeは、関数やクラスの宣言をまとめるヘッダファイル(.hや.hpp)を置く場所です。例えるなら「材料リスト」のようなものです。レシピ(src)の中で必要な材料(関数やクラス)を参照するために使います。


// include/greeting.hpp
#ifndef GREETING_HPP
#define GREETING_HPP

void sayHello();

#endif

// src/greeting.cpp
#include <iostream>
#include "greeting.hpp"

void sayHello() {
    std::cout << "Hello from greeting!" << std::endl;
}

srcの中でgreeting.cppを使う際、includeフォルダのヘッダファイルを参照することで、コードの分離と再利用が可能になります。

3. buildフォルダとは?(コンパイル結果をまとめる場所)

3. buildフォルダとは?(コンパイル結果をまとめる場所)
3. buildフォルダとは?(コンパイル結果をまとめる場所)

buildは、C++コンパイラでコンパイルした結果(実行ファイルやオブジェクトファイル)を置く場所です。これは「完成品の料理」を置く棚のようなものです。srcやincludeのファイルが正しくあれば、buildに実行可能なプログラムが生成されます。


// コマンド例(CMakeやMakefileで自動生成)
cmake -S . -B build
cmake --build build

ビルドすると、buildフォルダに実行ファイルが生成されます。この仕組みを理解すると、ソースとビルド結果を分けて管理できるため、プロジェクトが整理されやすくなります。

4. C++プロジェクトの基本構成まとめ

4. C++プロジェクトの基本構成まとめ
4. C++プロジェクトの基本構成まとめ

初心者でも理解しやすい基本構成は次の通りです:

  • src:プログラム本体(.cppファイル)をまとめる
  • include:ヘッダファイル(.h/.hpp)をまとめる
  • build:コンパイル結果(実行ファイル)をまとめる

この構成を守ることで、複数人で開発する場合やCMake、Makefileでのビルドもスムーズになります。

初心者がまず行うべきは、srcとincludeに最低限のファイルを置いて、buildフォルダでビルド結果を確認することです。慣れてきたら、ライブラリや複数のモジュールを追加しても整理された構造を維持できます。

5. 実際のディレクトリ例

5. 実際のディレクトリ例
5. 実際のディレクトリ例

my_project/
├── include/
│   └── greeting.hpp
├── src/
│   ├── main.cpp
│   └── greeting.cpp
└── build/

この構成でCMakeやMakefileを使えば、効率的にコンパイル・ビルドが行えます。srcとincludeを整理しておくことで、エラーの原因追跡やコードの再利用も簡単になります。

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

C++のプロジェクト作成において、なぜsrcやincludeといったフォルダに分ける必要があるのですか?

C++のプログラミング開発において、フォルダ構成を整理することはプロジェクトの保守性と可読性を高めるために非常に重要です。小規模なプログラムであれば1つのファイルで完結しますが、規模が大きくなるとソースコード(プログラム本体)と、その設計図にあたるヘッダファイルが混ざり合い、どこに何があるか分からなくなってしまいます。srcフォルダには実際の処理を記述するソースファイルを、includeフォルダには関数やクラスの定義をまとめるヘッダファイルを配置し、さらにビルド結果をbuildフォルダに分けることで、開発者が迷わず作業できる環境が整います。この標準的なディレクトリ構成は、多くのプロフェッショナルな現場でも採用されており、CMakeやMakefileといった自動ビルドツールを使用する際にもスムーズに連携できるという大きなメリットがあります。
カテゴリの一覧へ
新着記事
New1
C++
C++のメンバアクセス演算子を完全解説!初心者でもわかる . → :: の使い方まとめ
New2
Rust
Rustの文字列を極める!&str(文字列スライス)の基本概念とString型との違い
New3
C++
C++のキャスト演算子を完全解説!dynamic_cast・static_cast・const_cast・reinterpret_castを初心者向けに説明
New4
C++
C++開発のIDE選びを完全ガイド!初心者でもわかるCLion・Eclipse CDT・Qt Creator比較
人気記事
No.1
Java&Spring記事人気No1
C++
C++の主要な実装をわかりやすく解説!GCC・Clang・MSVCの違いと特徴
No.2
Java&Spring記事人気No2
C言語
C言語を学ぶ初心者におすすめの環境構築手順【2025年版】
No.3
Java&Spring記事人気No3
C言語
C言語のソースコードとヘッダファイルの役割とは?初心者向けにわかりやすく解説!
No.4
Java&Spring記事人気No4
C言語
C言語をオンラインで実行できる便利なコンパイラサービスまとめ【初心者向け】
No.5
Java&Spring記事人気No5
C言語
C言語開発でよく使われるエディタとIDEランキング【初心者向け完全ガイド】
No.6
Java&Spring記事人気No6
C言語
Visual Studio CodeでC言語を実行する方法【拡張機能の設定と実行手順】
No.7
Java&Spring記事人気No7
C++
C++リンカとコンパイラのオプション設定を完全ガイド!初心者にもわかる開発環境の基礎
No.8
Java&Spring記事人気No8
C言語
C言語の列挙型(enum)の使い方を完全ガイド!初心者でもわかる基本操作