DLLで関数をエクスポートするには?

[戻る]
はり坊 2001/06/25(月) 14:06:48
はじめまして。
VC++でDLL作成を行うことになったのですが、関数のエクスポートがうまくいかなくて困っています。

[Win32 Dynamic-Link Library]ウィザードから、シンボルをエクスポートするDLLを選択し、サンプルのコードを作成しました。それから、そのままコンパイルし、VBよりサンプルの関数呼び出すと、その関数がみつかりませんというようなエラーが表示されます。

サンプルの中で行っているエクスポートに関する定義は以下のとおりです。

ヘッダ内:__declspec(dllexport) int fnAaa(void);

ソース内:__declspec(dllexport) int fnAaa(void)
         {
      return 42;
         }

これだけでは足りないのでしょうか?初歩的な質問ですがよろしくお願いします。

ku 2001/06/25(月) 19:20:49
extern "C" __declspec(dllexport) int fnAaa(void);
extern "C" __declspec(dllexport) int fnAaa(void)
{
    〜省略〜
と変えれば大丈夫です。

また、DEFファイルを使う方法もあります。

dumpbin /exports xxxx.dll(作成したdllファイル名)
とやると理由が分かります

古いスレッドには追加発言できません。