通知
すべてクリア
Topic starter
2001年6月25日 2:06 PM
はじめまして。
VC++でDLL作成を行うことになったのですが、関数のエクスポートがうまくいかなくて困っています。
[Win32 Dynamic-Link Library]ウィザードから、シンボルをエクスポートするDLLを選択し、サンプルのコードを作成しました。それから、そのままコンパイルし、VBよりサンプルの関数呼び出すと、その関数がみつかりませんというようなエラーが表示されます。
サンプルの中で行っているエクスポートに関する定義は以下のとおりです。
ヘッダ内:__declspec(dllexport) int fnAaa(void);
ソース内:__declspec(dllexport) int fnAaa(void)
{
return 42;
}
これだけでは足りないのでしょうか?初歩的な質問ですがよろしくお願いします。
2001年6月25日 7:20 PM
extern C __declspec(dllexport) int fnAaa(void);
extern C __declspec(dllexport) int fnAaa(void)
{
~省略~
と変えれば大丈夫です。
また、DEFファイルを使う方法もあります。
dumpbin /exports xxxx.dll(作成したdllファイル名)
とやると理由が分かります