🚅

Siv3D アプリ開発でのプリコンパイル済みヘッダの使用

2021/06/10に公開

OpenSiv3D v0.4.3 の Windows 開発環境 (Visual Studio) において、プリコンパイル済みヘッダを使用し、プログラムのビルド時間を短縮する方法を説明します。

なお、OpenSiv3D v0.6 以降ではデフォルトでプリコンパイル済みヘッダの使用が有効になるため、この記事の操作は不要です。

1. プリコンパイル済みヘッダ作成用のファイルを追加する

プロジェクトに stdafx.hstdafx.cpp を追加します。中身は以下の通りです。

stdafx.h
# pragma once
# include <Siv3D.hpp>
stdafx.cpp
# include "stdafx.h"

2. プロジェクトのプロパティを設定する

2.1

メニュー → プロジェクトのプロパティ を開き、「構成(C):」を「全ての構成」に設定したのち、構成プロパティ → C/C++ → プリコンパイル済みヘッダー 内の「プリコンパイル済みヘッダー」を「使用 (/Yu)」に設定します。

2.2

続けて、構成プロパティ → C/C++ → 詳細設定 内の「必ず使用されるインクルード ファイル」を stdafx.h に設定し、OK を押してプロジェクトのプロパティを閉じます。

3. stdafx.cpp のプロパティを設定する

ソリューション エクスプローラー上の stdafx.cpp を右クリックしてプロパティを選択し、「stdafx.cpp プロパティページ」ウィンドウを開きます。構成プロパティ → C/C++ → プリコンパイル済みヘッダー 内の「プリコンパイル済みヘッダー」を「作成(/Yc)」に設定して、OK を押します。

以上で設定は終了です。設定後の 1 回目のビルドでプリコンパイル済みヘッダーの作成、それ以降にそのプリコンパイル済みヘッダーが使われるため、ビルド時間が大幅に短縮します。快適な Siv3D アプリ開発をお楽しみください。

2.2 の設定により、厳密にはプログラム内での # include <Siv3D.hpp> も不要になりますが、そのまま書いておいても <Siv3D.hpp> 内の # pragma once によりスキップされるので問題ありません。

参考記事

Discussion