Springhead Users Manual

2.5 アプリケーションの作成

Fig. 2.2: Create new project

Fig. 2.3: Project configuration

Fig. 2.4: Create source file

Springheadを使って簡単なアプリケーションプログラムを作成する道筋を説明します. 以下ではVisual Studio 2017を想定します.

プロジェクトの作成

「Visual C++ Windows \( > \) デスクトップ ウィザード」を作成します. 作成するディレクトリを C:\Experiments と仮定します. 他のディレクトリに作成する場合には, プロジェクトに指定するインクルードファイル及びライブラリファイルのパスが, 保存したSpringheadを正しく参照するように注意してください. プロジェクト名は好き な名前を付けてください. アプリケーションの設定で「コンソールアプリケーション」を選び, 空のプロジェクトをチェックします.

【補足】 Visual Studio 2015を使用した場合、 Fig. 2.2、Fig. 2.3とは 異なるウィンドウが表示されます。 その場合には「Win32プロジェクト \( > \) 次へ」と進んで、 「コンソールアプリケーション」 、「空のプロジェクト」をチェック します。

プロジェクトを作成したら 「プロジェクト \( > \) 新しい項目の追加 \( > \) C++ファイル(.cpp)」 としてソースファイルを作成します. ここでは仮にmain.cppとします.

ソースコードの編集

Table 2.2: Simplest program code

#include <Springhead.h>
#include <Framework/SprFWApp.h>
using namespace Spr;


class MyApp : public FWApp{
public:
     virtual void Init(int argc = 0, char* argv[] = 0){
            FWApp::Init(argc, argv);


            PHSdkIf* phSdk = GetSdk()->GetPHSdk();
            PHSceneIf* phscene = GetSdk()->GetScene()->GetPHScene();
            CDBoxDesc bd;


            // 床を作成
            PHSolidIf* floor = phscene->CreateSolid();
            floor->SetDynamical(false);
            bd.boxsize = Vec3f(5.0f, 1.0f, 5.0f);
            floor->AddShape(phSdk->CreateShape(bd));
            floor->SetFramePosition(Vec3d(0, -1.0, 0));


            // 箱を作成
            PHSolidIf* box = phscene->CreateSolid();
            bd.boxsize = Vec3f(0.2f, 0.2f, 0.2f);
            box->AddShape(phSdk->CreateShape(bd));
            box->SetFramePosition(Vec3d(0.0, 1.0, 0.0));


            GetSdk()->SetDebugMode(true);
     }
} app;


int main(int argc, char* argv[]){
     app.Init(argc, argv);
     app.StartMainLoop();
     return 0;
}

作成したmain.cppに Table 2.2に示すコードを書き込んでください. これがSpringheadを使用した (ほぼ) 最小のプログラムコードです.

プロジェクト設定

Fig. 2.5: Add include path

Fig. 2.6: Add library path

Fig. 2.7: Specify library file

Fig. 2.8: Program running

ビルドするまえにいくつかのプロジェクト設定が必要です. 64ビットプラットフォームを使用する場合には, プロパティーページの「構成マネージャー」で 「x64」プラットフォームを新規作成して選択しておきます. また,2.3 で説明したライブラリのビルドは済んでいるものとします.

まずプロジェクトのプロパティページを開き,構成を「すべての構成」としてください. 次に「C/C++ \( > \) 全般 \( > \) 追加のインクルードディレクトリ」に, Fig. 2.5のように Springheadのインクルードファイルへのパスを指定してください. さらに,「リンカー \( > \) 全般 \( > \) 追加のライブラリディレクトリ」に Fig. 2.6のようにSpringheadのライブラリファイルへのパスを指定します (64ビット構成の場合はwin32の代わりにwin64を指定します).

今度は構成を「Debug」にします. 「C/C++ \( > \) コード生成 \( > \) ランタイムライブラリ」を 「マルチスレッド デバッグ DLL(/MDd)」にします. 次に「リンカー \( > \) 入力 \( > \) 追加の依存ファイル」に Springhead15.0DWin32.lib (またはSpringhead15.0Dx64.lib)を追加してください.

最後に構成を「Release」に切り替えて同様の設定をします. ランタイムライブラリを「マルチスレッド DLL(/MD)」として, 追加の依存ファイルに Springhead15.0Win32.lib (またはSpringhead15.0Dx64.lib)を追加します.

ビルド・実行

以上で準備完了です.ビルド(F7)して,実行(F5)してみてください. Fig. 2.8のような画面が出てくれば成功です.