※ ChatGPTを利用し、要約された質問です(原文:シンボルをエクスポートするDLLの初歩的トラブル)
シンボルをエクスポートするDLLの初歩的トラブル
このQ&Aのポイント
VC++6.0でDLL作成に挑戦した際にエンドオブファイルのエラーが発生しました。
ソースファイルの最後の行に構文エラーがあり、原因の特定ができていません。
DLL作成時に発生するエラーの解決方法について教えてください。
VC++6.0で簡単なDLL作成にチャレンジしたところ、ソースファイルの最後のところで、エンドオブファイルのエラーが出ます。教本と同じように書いたつもりですが、何処が異なっているのか分かりません。エラーを出す原因となっている箇所を御指摘下さい。
↓ソースファイル
#include "stdafx.h"
#include "SUB.h"
BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}
SUB_API LONG _stdcall subtract( LONG sub1 , LONG sub2 )
{
return( sub1 - sub2 );
}
↓ここからはヘッダーファイル
#ifdef SUB_EXPORTS
#define SUB_API __declspec(dllexport)
#else
#define SUB_API __declspec(dllimport)
#endif
#ifdef __cplusplus
extern "C" {
#endif
SUB_API LONG __stdcall subtract( LONG sub1, LONG sub2 );
#ifdef _cplusplus
}
#endif
--------------------構成: SUB - Win32 Debug--------------------
コンパイル中...
StdAfx.cpp
コンパイル中...
SUB.cpp
C:\Program Files\Microsoft Visual Studio\MyProjects\SUB\SUB.cpp(38) : error C2059: 構文エラー : 'end of file'
cl.exe の実行エラー
SUB.dll - エラー 1、警告 0
お礼
自分では見つけられませんでした。有難う御座いました。