DLLでLIBファイルが作成されない
DLLを作るプログラムをしているのですが、どうしてもコンパイル時にLIBファイルが作成されません。
1>warning C4091: '__declspec(dllexport)' : 変数が何も宣言されていないときは、'DDDClass' の左辺を無視します。
と警告が出てしまいます。
私が書いたソースは以下の通りで、クラスとそのメンバをEXPORTしたいのです。ここで、最後のコメントを外して有効にするとLIBファイルが作成されることはわかっています。また、クラスのメンバにEXPORTをつけてもオーバーライトだと怒られてしまいます。
どのようにしたらLIBファイルが作成されるようになるのでしょうか?
■■■stub.h■■■
#ifdef __cplusplus
#define EXPORT extern "C" __declspec (dllexport)
#else
#define EXPORT __declspec (dllexport)
#endif
typedef int (*HOGEHOGE)(int i);
EXPORT class DDDClass{
private:
int num;
HOGEHOGE c;
public:
DDDClass();
int CALLBACK counter();
int CALLBACK touroku(int (*b)(int i));
};
■■■stub.cpp■■■
#include <windows.h>
#include "Stub1.h"
int WINAPI DllMain(HINSTANCE hInstance, DWORD fdwReason, PVOID pvReserved){
return true;
}
EXPORT class DDDClass;
DDDClass::DDDClass(){
num =0;
c = NULL;
}
int CALLBACK DDDClass::touroku(int (*b)(int i)){
c = b;
return 0;
}
int CALLBACK DDDClass::counter(){
//c = b;
c(num);
num++;
return 0;
}
/*
EXPORT bool CALLBACK aaaaa(){
return true;
}
*/