DLLの使い方とerror C2146について。
お世話になります。プログラミングの経験がほとんど無い初心者です。あるゲームソフトのSDKを使い自作デバイスでゲームを操作するプログラムを作りたいのですが、そのテスト段階で躓いています。(ご参考まで→ttp://www.lekseecon.nl/sdk.html)
なおIDEはVC++2008ExpressEditionを使っています。エラーの内容は次の通りです。
**************
1>------ ビルド開始: プロジェクト: PC19, 構成: Debug Win32 ------
1>コンパイルしています...
1>PC19.cpp
1>f:\pic\myprograms\pc\pc19\LVLD_SDK.h(897) : error C2146: 構文エラー : ';' が、識別子 'LVLDSession' の前に必要です。
1>f:\pic\myprograms\pc\pc19\LVLD_SDK.h(897) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません
1>f:\pic\myprograms\pc\pc19\LVLD_SDK.h(897) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません
**************
原因となったLVLD_SDK.h中のエラー対象行周辺は次の通りです。
**************
#define SDK_VERSION 202
#define OPEN 1
#define CLOSE 0
//(省略)
__declspec(dllexport) LRESULT LVLDSession (int flag,int LVLDVersion); //※エラー行です
//(省略)
********************
プログラム本体についてはまず新規プロジェクトでWindowsフォームアプリケーションを準備し、Timerを組み込みました。SDKには3つのファイル、LVLDSDK.dll、LVLDSDK.lib、LVLD_SDK.hが内包されており、これらすべてをプロジェクトフォルダーにコピーしました。ソリューションエクスプスローラーでLVLD_SDK.hをヘッダーファイルフォルダーに、LVLDSDK.libをリソースフォルダーに参照させました。またプロジェクトのプロパティのリンカの入力、追加の依存ファイルにLVLDSDK.libを追加しました。他のコンパイル時エラーへの対応として、構成プロパティ、全般、共通言語ランタイムサポートを/clrへ変更しています。 Form1.hの先頭行近くに #include "LVLD_SDK.h" を追加し、Timerイベント内に動作確認用の命令を記述しました。
**Form1.h抜粋*****
#pragma once
#include "LVLD_SDK.h"
(中略)
#pragma endregion
private: System::Void timer1_Tick(System::Object^ sender, System::EventArgs^ e) {
signed int result0;
result0=LVLDSession(OPEN,SDK_VERSION);
}
(中略)
**********
3種類のエラーが出ていますが関連性がよく分からず、まとめて質問する形になってしまいました。質問に不備がありましたらそれも叱咤ご教授いただければと思います。よろしくお願いします。
補足
そうです。ゲームが強制終了してこのメッセージが出ます