通知
すべてクリア
Topic starter
2004年1月8日 4:14 PM
dllのなかに、static 変数を持つクラスを定義して、そのクラスを、dllの外側で、使おうと
すると、リンク時に、参照できないというエラーが出ます。
static 変数の初期化をするときに、なんらかの処理がいるのでしょうか?
class は、以下のような感じで、宣言していて、
class AFX_EXT_CLASS A
{
private:
static int a;
}
static 変数は、以下のように、初期化しています。
int A::a = 0;
環境は、windows2000 VC++6.0です。
よろしくおねがいします。
2004年1月8日 4:34 PM
カンで答えてみます。
private を protected とか public にしたらエラーが解消されたりして。
2004年1月8日 5:49 PM
ヘッダーで(つまり、EXPORT側とIMPORT側の両方で)
明示的な宣言が必要だったような気がします。
class AFX_EXT_CLASS A
{
...
};
int AFX_EXT_CLASS A::a; // これ
Topic starter
2004年1月8日 6:23 PM
返答ありがとうございます。
dairygoods サンの方法でうまくいきました。
ありがとうございました。