Skip to main content

♻️ DxLibのプロジェクト設定を保存して、次も使い回す

♻️ DxLibの設定を保存して、次のプロジェクトで使い回そう

前のページでは、DxLibを使うために、プロジェクトのプロパティをいろいろ設定しました。

  • DxLibのインクルードパス
  • DxLibのライブラリパス
  • Debug用のランタイムライブラリ
  • Release用のランタイムライブラリ

ところで、新しいゲームを作るたびに、毎回この設定を最初からやるのは面倒ですよね。

新しいプロジェクトを作る
 ↓
インクルードパスを設定する
 ↓
ライブラリパスを設定する
 ↓
DebugとReleaseを設定する
 ↓
やっとプログラムを書き始める

ゲームを作りたいのに、毎回同じ設定作業から始めるのは大変です。

そこで今回は、DxLibを使うための設定をプロパティシートというファイルへ保存します。

一度プロパティシートを作っておけば、次のプロジェクトからは、そのファイルを読み込むだけです。

新しいプロジェクトを作る
 ↓
保存しておいたプロパティシートを読み込む
 ↓
すぐにDxLibのプログラムを書き始められる

💡 毎回設定するのが面倒なら、設定そのものを保存して使い回せばよいのです。

このページでは、次の作業を行います。

  1. DxLib用の設定をプロパティシートへ保存する
  2. 新しいプロジェクトを作り直す
  3. 保存したプロパティシートを読み込む
  4. DxLibのサンプルプログラムをコンパイルする
  5. 設定が正しく復元されたことを確認する

📄 1.プロパティシートとは

プロパティシートは、Visual Studioのプロジェクト設定を保存するファイルです。

ファイルの拡張子は、次のようになります。

.props

今回は、Debug用とRelease用の2種類を作成します。

DxLib_Debug.props
DxLib_Release.props

それぞれに保存する設定は、次のとおりです。

プロパティシート 保存する設定
DxLib_Debug.props DxLibのパス、Debug用ランタイムライブラリ
DxLib_Release.props DxLibのパス、Release用ランタイムライブラリ

新しいプロジェクトでは、使用する構成に合わせて読み込みます。

Debug   → DxLib_Debug.props
Release → DxLib_Release.props

⚠️ 現在のプロジェクトに設定されている内容が、自動的にプロパティシートへ書き出されるわけではありません。
プロパティシートを作成し、そこへDxLib用の設定をもう一度入力して保存します。


📁 2.プロパティシートの保存場所を作る

プロパティシートは、今後作る複数のプロジェクトから使用します。

そのため、特定のプロジェクトフォルダーの中ではなく、自分の作業フォルダー内に専用の保存場所を作ります。

学校などの共用PCの場合

D:\自分のフォルダー\VisualStudio\PropertySheets

個人のPCの場合

C:\Users\ユーザー名\Documents\VisualStudio\PropertySheets

エクスプローラーで、次のフォルダーを作成してください。

VisualStudio
└─ PropertySheets

⚠️ 学校などの共用PCでは、共通の D:\DxLib_VC の中へ保存しないでください。
D:\DxLib_VC は、全員で使用するDxLib本体のフォルダーです。個人用の設定ファイルは、自分のフォルダーへ保存します。


🔧 3.プロパティ マネージャーを開く

前のページで作成した DxLibSample プロジェクトをVisual Studioで開きます。

Visual Studio上部のメニューから、次の順番で選択します。

表示
  └─ その他のウィンドウ
      └─ プロパティ マネージャー

プロパティ マネージャーには、構成とプラットフォームの組み合わせが表示されます。

DxLibSample
├─ Debug | Win32
├─ Debug | x64
├─ Release | Win32
└─ Release | x64

今回は、まず次の2つへプロパティシートを作成します。

Debug | x64
Release | x64

このページでは、実行確認をx64で行います。
Win32でも使用する場合は、最後に同じプロパティシートをWin32側へ追加できます。


🐞 4.Debug用プロパティシートを作成する

プロパティ マネージャーの「Debug | x64」を右クリックします。

新しいプロジェクト プロパティ シートの追加」を選択してください。

プロパティシートの名前を、次のようにします。

DxLib_Debug.props

保存場所には、先ほど作成した自分の PropertySheets フォルダーを指定します。

学校などの共用PCの場合

D:\自分のフォルダー\VisualStudio\PropertySheets

個人のPCの場合

C:\Users\ユーザー名\Documents\VisualStudio\PropertySheets

設定できたら、「追加」をクリックします。

プロパティ マネージャーに、次の項目が追加されます。

Debug | x64
└─ DxLib_Debug

📁 5.Debug用のインクルードパスを保存する

プロパティ マネージャーの「DxLib_Debug」をダブルクリックします。

プロパティシートの設定画面が表示されたら、左側から次の項目を開きます。

共通プロパティ
  └─ C/C++
      └─ 全般

「追加のインクルード ディレクトリ」を選択し、編集画面を開きます。

DxLibを置いた場所に合わせて、次のパスを追加します。(DxLibプロジェクトの設定でやったのと同じ手順、同じフォルダ)

学校などの共用PCの場合

D:\DxLib_VC\プロジェクトに追加すべきファイル_VC用

個人のPCの場合

C:\DxLib_VC\プロジェクトに追加すべきファイル_VC用

入力したら、「OK」をクリックします。


🔗 6.Debug用のライブラリパスを保存する

左側から、次の項目を開きます。

共通プロパティ
  └─ リンカー
      └─ 全般

「追加のライブラリ ディレクトリ」を選択し、編集画面を開きます。

インクルードパスと同じフォルダーを追加します。

学校などの共用PCの場合

D:\DxLib_VC\プロジェクトに追加すべきファイル_VC用

個人のPCの場合

C:\DxLib_VC\プロジェクトに追加すべきファイル_VC用

入力したら、「OK」をクリックします。


🧩 7.Debug用のランタイムライブラリを保存する

左側から、次の項目を開きます。

共通プロパティ
  └─ C/C++
      └─ コード生成

「ランタイム ライブラリ」を次のように変更します。

マルチスレッド デバッグ(/MTd)

設定できたら、「適用」をクリックしてから「OK」をクリックします。

これで、Debug用の設定が DxLib_Debug.props に保存されます。


🚀 8.Release用プロパティシートを作成する

プロパティ マネージャーの「Release | x64」を右クリックします。

新しいプロジェクト プロパティ シートの追加」を選択してください。

プロパティシートの名前を、次のようにします。

DxLib_Release.props

保存場所には、Debug用と同じ PropertySheets フォルダーを指定します。

設定できたら、「追加」をクリックします。

プロパティ マネージャーに、次の項目が追加されます。

Release | x64
└─ DxLib_Release

⚙️ 9.Release用の設定を保存する

プロパティ マネージャーの「DxLib_Release」をダブルクリックします。

次の2つには、Debug用と同じDxLibフォルダーを設定します。

共通プロパティ
  └─ C/C++
      └─ 全般
          └─ 追加のインクルード ディレクトリ
共通プロパティ
  └─ リンカー
      └─ 全般
          └─ 追加のライブラリ ディレクトリ

DxLibはDubugもReleaseも同じフォルダになってるよ(楽でいいね)

ランタイムライブラリは、Release用の次の設定にします。

共通プロパティ
  └─ C/C++
      └─ コード生成
          └─ ランタイム ライブラリ
マルチスレッド(/MT)

リリース用なので後ろにdがつかない設定を選ぶ(Not MDd、MTd)

設定できたら、「適用」をクリックしてから「OK」をクリックします。

これで、Release用の設定が DxLib_Release.props に保存されます。


✅ 10.プロパティシートが保存されたことを確認する

エクスプローラーで、自分の PropertySheets フォルダーを開きます。

次の2つのファイルが作成されていることを確認してください。

DxLib_Debug.props
DxLib_Release.props

.propsファイルは、これから作るプロジェクトでも使用します。
保存場所を移動したり、削除したりしないでください。

ここまでで、DxLibの設定を保存できました。

では、本当に使い回せるのか、新しいプロジェクトを作って確認してみましょう。


🆕 新しいプロジェクトで設定を復元しよう

🧹 11.現在のプロジェクトを閉じる

Visual Studio上部のメニューから、次の項目を選択します。

ファイル
  └─ ソリューションを閉じる

Visual Studio自体は終了せず、そのままにしておきます。


📦 12.新しいプロジェクトを作り直す

Visual Studio上部のメニューから、次の順番で選択します。

ファイル
  └─ 新規作成
      └─ プロジェクト/ソリューション

「新しいプロジェクトの作成」画面で、「Windows デスクトップ ウィザード」を選択します。

今回は、プロジェクト名を次のようにします。

DxLibReuseTest

保存場所には、自分の作業フォルダーを指定します。

ソリューションとプロジェクトを同じディレクトリに配置する」にチェックを付け、「作成」をクリックします。

「Windows デスクトップ プロジェクト」の設定画面では、次のように設定します。

項目 設定内容
アプリケーションの種類 デスクトップ アプリケーション(.exe)
空のプロジェクト チェックを付ける

OK」をクリックし、新しいプロジェクトを作成します。


📄 13.main.cppを追加する

ソリューションエクスプローラーの「ソースファイル」を右クリックし、次の順番で選択します。

追加
  └─ 新しい項目

「C++ファイル(.cpp)」を選択し、名前を次のようにします。

main.cpp

追加」をクリックしてください。


💾 14.main.cppをUTF-8で保存する

コードエディター右下に表示されている文字コードをクリックします。

表示されたメニューから「エンコードで保存」を選択し、次のエンコードを指定します。

Unicode(UTF-8 署名付き)- コードページ 65001

OK」をクリックして保存します。


🔤 15.文字セットだけはプロジェクトへ設定する

プロパティシートの設定画面には、今回使用する「文字セット」の項目がありません。

そのため、文字セットだけは新しいプロジェクトへ設定します。

ソリューションエクスプローラーで、プロジェクト名の「DxLibReuseTest」を右クリックし、「プロパティ」を選択します。

プロパティ画面の上部を、次のようにします。

項目 設定内容
構成 すべての構成
プラットフォーム すべてのプラットフォーム

次の項目を開きます。

構成プロパティ
  └─ 詳細
      └─ 文字セット

次の値へ変更します。

マルチ バイト文字セットを使用する

適用」をクリックしてから、「OK」をクリックします。


♻️ 16.Debug用プロパティシートを読み込む

プロパティ マネージャーを開きます。

表示
  └─ その他のウィンドウ
      └─ プロパティ マネージャー

Debug | x64」を右クリックし、「既存のプロパティ シートの追加」を選択します。

自分の PropertySheets フォルダーから、次のファイルを選択します。

DxLib_Debug.props

追加後、次のように表示されれば成功です。

Debug | x64
└─ DxLib_Debug

♻️ 17.Release用プロパティシートを読み込む

Release | x64」を右クリックし、「既存のプロパティ シートの追加」を選択します。

自分の PropertySheets フォルダーから、次のファイルを選択します。

DxLib_Release.props

追加後、次のように表示されれば成功です。

Release | x64
└─ DxLib_Release

これで、新しいプロジェクトへDxLibの設定を読み込めました。

前のページで行った次の設定は、手動で入力していません。

  • DxLibのインクルードパス
  • DxLibのライブラリパス
  • Debug用のランタイムライブラリ
  • Release用のランタイムライブラリ

✏️ 18.DxLibのサンプルプログラムを入力する

main.cppへ、次のプログラムを入力します。

#include "DxLib.h"

// プログラムはWinMain関数から始まります
int WINAPI WinMain(
    HINSTANCE hInstance,
    HINSTANCE hPrevInstance,
    LPSTR lpCmdLine,
    int nCmdShow)
{
    // ウィンドウモードで起動する
    ChangeWindowMode(TRUE);

    // DxLibを初期化する
    if (DxLib_Init() == -1)
    {
        return -1;
    }

    // 画面中央に白い点を描く
    DrawPixel(320, 240, GetColor(255, 255, 255));

    // キーが押されるまで待つ
    WaitKey();

    // DxLibの使用を終了する
    DxLib_End();

    return 0;
}

入力できたら、次のキーで保存します。

Ctrl + S

🔨 19.Debug/x64でコンパイルする

Visual Studio上部を、次のように設定します。

項目 設定内容
構成 Debug
プラットフォーム x64

上部メニューから、次の順番で選択します。

ビルド
  └─ ソリューションのビルド

キーボードでは、次のキーでもビルドできます。

Ctrl + Shift + B

出力欄に、次のような内容が表示されればコンパイル成功です。

ビルド: 1 正常終了、0 失敗

▶️ 20.Debug/x64で実行する

上部の緑色の三角ボタン「ローカル Windows デバッガー」をクリックします。

キーボードでは、次のキーでも実行できます。

Ctrl + F5

黒いウィンドウが開き、中央に白い点が表示されれば成功です。

キーを押してプログラムを終了します。


🚀 21.Release/x64でもコンパイルする

Visual Studio上部の構成を、次のように変更します。

項目 設定内容
構成 Release
プラットフォーム x64

次のキーを押してビルドします。

Ctrl + Shift + B

出力欄に、次のような内容が表示されれば成功です。

ビルド: 1 正常終了、0 失敗

これで、Debug用とRelease用の両方のプロパティシートが正しく読み込まれていることを確認できました。


🎉 22.設定をやり直さなくても動いた!

新しく作ったプロジェクトで、DxLibのプログラムをコンパイルして実行できました。

今回は、前のページで行った次の設定を、プロジェクトへ直接入力していません。

  • DxLibのインクルードパス
  • DxLibのライブラリパス
  • Debug用のランタイムライブラリ
  • Release用のランタイムライブラリ

保存しておいたプロパティシートを読み込むだけで、必要な設定が反映されました。

これで、新しいゲームを作るたびに同じ設定を繰り返す必要はありません。

次回からは、次の流れだけでDxLibを使い始められます。

新しいプロジェクトを作る
 ↓
main.cppを追加する
 ↓
文字セットを設定する
 ↓
プロパティシートを読み込む
 ↓
DxLibのプログラムを書く

毎回すべての項目を設定するより、ずっと楽になりました。

どや、便利やろ?


💻 Win32でも使用する場合

このページでは、x64へプロパティシートを追加しました。

Win32でもDxLibを使用する場合は、プロパティ マネージャーで同じプロパティシートを追加します。

Debug | Win32
└─ DxLib_Debug.props
Release | Win32
└─ DxLib_Release.props

追加後、Win32へ切り替えてビルドできることを確認してください。


🛠️ うまく動かない場合

DxLib.hが見つからない

Debug側またはRelease側へ、正しいプロパティシートが追加されているか確認してください。

Debug | x64
└─ DxLib_Debug
Release | x64
└─ DxLib_Release

プロパティシートを開き、「追加のインクルード ディレクトリ」に正しいDxLibのパスが設定されているか確認します。

リンクエラーが大量に表示される

「追加のライブラリ ディレクトリ」に、DxLibのフォルダーが設定されているか確認してください。

また、現在の構成と読み込んだプロパティシートが一致しているか確認します。

Debug   → DxLib_Debug.props
Release → DxLib_Release.props

Debugでは動くがReleaseでは動かない

Release | x64へ、DxLib_Release.propsが追加されているか確認してください。

Release用のランタイムライブラリは、次の設定です。

マルチスレッド(/MT)

Releaseでは動くがDebugでは動かない

Debug | x64へ、DxLib_Debug.propsが追加されているか確認してください。

Debug用のランタイムライブラリは、次の設定です。

マルチスレッド デバッグ(/MTd)

プロパティシートを追加したのに設定が反映されない

新しいプロジェクト側に、同じ項目が直接設定されていないか確認してください。

プロジェクト本体とプロパティシートの両方に同じ項目が設定されている場合は、プロジェクト本体側の設定が優先されることがあります。

今回の確認では、設定されていない新しいプロジェクトへプロパティシートを追加してください。

.propsファイルが見つからない

プロパティシートを移動または削除していないか確認してください。

プロパティシートは、自分の作業フォルダー内で保管します。

自分の作業フォルダー
└─ VisualStudio
   └─ PropertySheets
      ├─ DxLib_Debug.props
      └─ DxLib_Release.props

🏁 23.このページの作業は完了

このページでは、次の作業を行いました。

  • Debug用のプロパティシートを作成
  • Release用のプロパティシートを作成
  • DxLibのインクルードパスを保存
  • DxLibのライブラリパスを保存
  • Debug用のランタイムライブラリを保存
  • Release用のランタイムライブラリを保存
  • プロパティシートを自分の作業フォルダーへ保存
  • 新しいDxLib用プロジェクトを作成
  • 保存したプロパティシートを読み込み
  • Debug/x64でコンパイルと実行を確認
  • Release/x64でコンパイルを確認

これで、DxLibのプロジェクトを作成するたびに、同じ設定を最初から入力し直す必要がなくなりました。