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.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のような画面が出てくれば成功です.