ソースコードを共有する

共有フォルダーに Object Class のソースコードを置いて複数のプロジェクトから参照します。

前田稔(Maeda Minoru)の超初心者のプログラム入門

Object Class の活用

Object Class を活用する方法は、幾通りもあります。
  1. それぞれのプロジェクトのフォルダーに Object Class のソースを置いて直接組み込む方法。
  2. 共有フォルダーに Object Class のソースを置いて複数のプロジェクトから参照する方法。
  3. 私有ライブラリを作成して、スタテックに組み込む方法。
    私有ライブラリを作成する を参照して下さい。
  4. DLL(Dynamic Link Library) を作成して、ダイナミックに組み込む方法。
    DLL の基礎 を参照して下さい。
このページでは、共有フォルダーに Object Class のソースコードを置いて複数のプロジェクトから参照する方法を説明します。

共有フォルダーを使う

  1. 新しく開発するプロジェクトの親フォルダー(親の親フォルダー)に共有するソースファイルを格納するフォルダーを作成します。
    フォルダー名を Common(DXUT) などに変更して、Object Class などのソースファイルを格納して下さい。
    ページ先頭の画像(../../)では「親の親フォルダー」に置いています。
    別にどこに置いても良いのですが、相対的に参照されるので「プロジェクトのフォルダーを移動してもパスが維持される」ようにしなければなりません。
  2. ソリューションエクスプローラからルート(ページ後部の画像では Main)を右クリックして[追加][新しいフィルタ]を選択するとフォルダーが作成されます。
    作成されたフォルダーの名前を、共有フォルダーに合わせて Common(DXUT) などに変更して下さい。
    作成したフォルダーに共有フォルダーからソースファイルを組み込みます。
    [プロジェクト] [既存項目の追加] から共有フォルダーに格納されているファイルを選択して下さい。
    追加されたソースプログラム(*.cpp) はこれだけでOKですが ヘッダファイル(*.h) にはパスを通さ なければなりません。
  3. 共有フォルダーに格納されているヘッダファイル(*.h) にパスを通す方法です。
    親の親(../../)に格納されている Image.h と Surface.h を例にして、パスを通す方法を説明します。
    1. 直接相対的にパスを記述する方法です。
      #include "../../Image.h"
      #include "../../surface.h"
    2. 親の親(../../)にプリプロセッサのパスを通す方法です。
      #include は普通に記述します。
      #include "Image.h"
      #include "surface.h"
      メニューの[プロジェクト][プロパティ]から[C/C++] のタブをクリックして、カテゴリから[プリプロセッサ]を選んで include ファイルのパスに「../../」を設定します。
      Visual C++ Ver 6.0 では[プロジェクト][設定][C/C++] カテゴリから [プリプロセッサ]を選びます。
      バージョンによってメニューや操作の方法が多少違うので、画像などを参考に探して下さい。
  4. Visual Studio .NET2005 で DirectX August 2007 に合わせてパスを設定する場合です。
    [プロジェクト][プロパティ]から[C/C++][全般] を選びます。
    [追加のインクルードディレクトリ] に「..\..\DXUT\Core;..\..\DXUT\Optional」を設定します。
    これで August 2007 の DXUT にパスが通ります。
    パスの画像
  5. プロジェクトに組み込まれたソースファイルは、ソリューションエクスプローラの以下のフォルダーに格納されています。
    フォルダーの作成と名前は自由で、エクスプローラと同じように右クリックで操作することが出来ます。
    今回は Common のフォルダーを追加して共有フォルダーから組み込みました。
    一般的に共有フォルダーから組み込む場合は Common や DXUT などの名前が使われます。
    下記の画像を参考にして下さい。

超初心者のプログラム入門(Win32API C++)