Siv3D August 2016 v2 用のプリコンパイル済みヘッダー設定済みプロジェクトテンプレートを作成する


Visual Studio 2015 で Siv3D の新規プロジェクトを作る際に、プリコンパイル済みヘッダーの設定を毎回するのが面倒だったので、設定済みのテンプレートを作成することにしました。

※ この事について、以前 Slack 上で作者様からの言及がありましたので、いつか標準で組み込まれるのかもしれません

おおまかな手順

次のとおりです。

  1. 標準のプロジェクトテンプレート Siv3D(August2016v2).zip を展開
  2. stdafx.cppstdafx.h を作成
  3. プロジェクトファイル Siv3D(August2016v2).vcxproj を開き、以下を設定
    • stdafx.cppstdafx.h をプロジェクトに追加
    • プリコンパイル済みヘッダーを作成・使用するよう設定
  4. MyTemplate.vstemplate を編集
    • テンプレートの設定(TemplateData タグ内。必須ではない)
      • テンプレート名(Name タグ)
    • プロジェクトに含まれるファイルの設定(TemplateContent タグ内)
      • stdafx.cppstdafx.h についての ProjectItem タグを追加
  5. ZIP 書庫を作成し Siv3D(August2016v2).zip と同じ場所へ配置

1. 標準のプロジェクトテンプレートを展開

$(VisualStudioDir)/Templates/ProjectTemplates/Siv3D(August2016v2).zip の内容を適当なフォルダに展開します。

展開されたファイル一覧:

$(VisualStudioDir) の場所は、マイドキュメント→Visual Studio 2015 フォルダだと思います。Visual Studio の "C# Interactive" ウィンドウで

Environment.GetEnvironmentVariable("VisualStudioDir")

を実行して確認できます。

2. stdafx.cppstdafx.h を作成

それぞれのファイルを以下の内容で作成し、上記のプロジェクトテンプレートを展開したフォルダに配置します。

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

3. プロジェクトファイルの設定

Siv3D(August2016v2).vcxproj をダブルクリックし、Visual Studio から以下の設定を行います。

3-1. stdafx.cppstdafx.h をプロジェクトに追加

先ほど作成したファイルをプロジェクトツリーに追加します。

3-2. プリコンパイル済みヘッダーを作成・使用するよう設定

プロジェクトのプロパティを開き、

  • 「すべての構成」、「すべてのプラットフォーム」を選択
  • 「C/C++」→「詳細設定」→「必ず使用されるインクルードファイル」を stdafx.h に設定
  • 「C/C++」→「プリコンパイル済みヘッダー」→「プリコンパイル済みヘッダー」を 使用 に設定

プロジェクトツリーで stdafx.cpp を選択し、

  • 「C/C++」→「プリコンパイル済みヘッダー」→「プリコンパイル済みヘッダー」を 作成 に設定

4. MyTemplate.vstemplate を編集

こんな感じの内容に編集します:

<VSTemplate Version="3.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" Type="Project">
  <TemplateData>
    <Name>Siv3D(August2016v2) with Precomiled Header</Name>
~省略~
      <ProjectItem ReplaceParameters="false" TargetFileName="Main.cpp">Main.cpp</ProjectItem>
      <ProjectItem ReplaceParameters="false" TargetFileName="stdafx.cpp">stdafx.cpp</ProjectItem>
      <ProjectItem ReplaceParameters="false" TargetFileName="stdafx.h">stdafx.h</ProjectItem>
~以下省略~

5. ZIP 書庫を作成し配置

1 で展開したファイル + stdafx.cpp、stdafx.h をまとめて ZIP 書庫を作成し、プロジェクトテンプレートのフォルダ(Siv3D(August2016v2).zip のある場所)へ配置します。

Visual Studio を起動し、新しいプロジェクトダイアログを表示すると、Visual C++ テンプレートの一覧に先ほど作成したものが追加されています。