1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【CppGameDevTutorials/00_HelloCpp】C++開発環境構築

Last updated at Posted at 2025-06-05

ゲームを作りましょう. C++で. Unity? 棚に戻してきなさい.
(実際, 他人が作ったよくわからない仕様と闘うか, 自分や自然科学と闘うかの違いでしかなく, 後者の方が精神衛生にいいのでC++で作ることを推奨します. 冗談ではなく, 本気でそう思っています.)

今回はまずC++の開発環境を構築します.

前提

  • Windows 11 (x64)
  • Visual Studio Code

手順

  1. Visual Studio Build Tools(VSBT)
    Visual Studioのエディターはこの世で最も醜いものの一つなので使わず, 中にあるBuild Toolsのみを使います. Visual Studioを入れずにこれだけをインストールできます.

    1. 公式サイト(https://visualstudio.microsoft.com/downloads/)の下の方からダウンロード(Tools for Visual Studio → Build Tools for Visual Studio 2022).
    2. C++によるデスクトップ開発にチェックを入れる.
  2. vcpkg
    パッケージマネージャ. VSBTの中にもvcpkgがありますが, 偽物なので使いません. vcpkgはユーザーディレクトリなどに入れるのが一般的らしいです. (OSの直下にフォルダを作って開発用のツールをまとめる人もいるらしい)

    1. インストールしたい場所で以下を順に実行する.
      # インストール
      git clone https://github.com/microsoft/vcpkg.git
      
      # bootstrap
      .\bootstrap-vcpkg.bat
      
      # Visual Studioと統合
      .\vcpkg integrate install
      
    2. システム環境変数のPATHに追加
      vcpkg.exeを持っているフォルダのパスをコピーしてPATHに追加します. 最も外側のvcpkgだと思います.
  3. CMake
    メタビルドシステム. 公式サイト(https://cmake.org/)からインストールします.
    (「コンパイル」というのはソースコードを機械語に翻訳することであり, これはファイルごとに行われるので, 複数のソースコードからなるゲームを作るにはそれらを結合する「リンク」という作業が必要になります. これらをまとめて「ビルド」といい, ビルドを自動で行うツールを「ビルドツール」といいます. ビルドツールには複数あり, それらの仕様ごとに異なる形式のキャッシュを生成するのですが, これでは共同開発などで不便なことが多かったため, 選択的にビルドツールを生成してビルドを行う「メタビルドシステム」というものが誕生しました.)

  4. 母国語を取り戻す
    現状ではC++のコード内で日本語(UTF-8)を書くとコンパイルに失敗します. そこでWindowsの設定を見直す必要があります.

    1. 設定 → 時刻と言語 → 言語と地域 → 管理用の言語の設定 → システム ロケールの変更 → 「ベータ: ワールドワイド言語サポートでUnicode UTF-8を仕様」にチェックを入れる.
    2. PCを再起動する.
  5. VS Code拡張機能

    • C/C++
    • CMake Tools

    あたりがあれば十分だと思います. あとはお好みで.

サンプルコード

プロジェクトフォルダの直下にCMakeLists.txtを作り, 以下のように書きます. (このファイル名にするとVSCode上でアイコンがMになると思います.)

# 00_HelloCpp/CMakeLists.txt

# CMakeの最低バージョンを指定
cmake_minimum_required(VERSION 3.15)

# プロジェクトを定義(HelloCppという名前のCppで書かれたプロジェクト)
# このプロジェクト名はフォルダ名と同じである必要はない
project(HelloCpp LANGUAGES CXX)

# ビルドを実行(main.cppをコンパイルしてhello.exeを作る)
add_executable(hello main.cpp)

main.cppを適当に書きます.

// 00_HelloCpp/main.cpp

#include <iostream>
#include <vector>
#include <string>

int main() {
  std::cout << "Hello, C++!" << std::endl;
  std::vector<std::string> Zoo = {"dog", "cat", "bird"};
	for (const auto& animal : Zoo){
		std::cout << animal << ' ';
	}
  std::cout << "" << std::endl;
  std::cout << "はろーわーるど!" << std::endl;
  return 0;
}

ビルドと実行

プロジェクトフォルダの直下で以下を順に実行します.

# buildフォルダを作成・移動
mkdir build && cd build

# キャッシュファイル作成
cmake ..

# Debugフォルダの中に実行ファイルを生成
# 以降, コードを変更したらここからやり直す
cmake --build . --config Debug

# 実行
./Debug/hello.exe
ビルドの慣習について buildフォルダを作って, その中にビルド生成物をすべて入れます. これにより, buildフォルダを消すことでビルド状況をリセットできます. これを「out-of-sourceビルド」といいます. 開発時はbuildの中にさらにDebugフォルダを作り、その中に実行ファイルを置きます(デバッグビルド). 完成したらDegubの代わりにReleaseフォルダを作り, そこに入れます(リリースビルド).
ターミナルに関する超初心者向けの補足 ターミナル上でキーボードの「↑」や「↓」を押すと履歴を遡れます. 何度も同じコマンドを書く必要はありません. ターミナルにある程度入力した後でキーボードの「Tab」を押すと入力補完してくれます. cdなどの後にパスを手入力する必要はありません.
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?