dllファイルを生成しようとしていますが、別のプログラムで.libファイルを使用していますが、残念ながら.libファイルは生成されません。 どうすればいいですか?Visual StudioでDLLを生成する
extern "C" _declspec (dllexport) int add(int a, int b);
extern "C" _declspec (dllexport) int add(int a, int b)
{
return a + b;
}
dllファイルを生成しようとしていますが、別のプログラムで.libファイルを使用していますが、残念ながら.libファイルは生成されません。 どうすればいいですか?Visual StudioでDLLを生成する
extern "C" _declspec (dllexport) int add(int a, int b);
extern "C" _declspec (dllexport) int add(int a, int b)
{
return a + b;
}
はこのようにそれを試してみてください。クライアント側では__declspec(dllimport)
を使用する必要があります。
方が良い、このようなヘッダに宣言を置く:
// YourHeader.H
#ifdef _DLL_EXPORTING // Define this symbol in DLL project setting
#define EXPORT_IMPORT __declspec(dllexport)
#else
#define EXPORT_IMPORT __declspec(dllimport)
#endif
EXPORT_IMPORT int add(int,int);
は、クライアントがおよそdeclspec
指定子を気にせずに、直接このヘッダーを使用してみましょう。 EXPORT_IMPORT
マクロは、エクスポート/インポートする他の機能をエクスポートするためにも使用できます。
ありがとうございますが、実際には.libファイルが必要ですが、生成されません! – pooya
あなたの質問を編集して、もっと明瞭にしたいものを作る –
あなたはDLLからシンボルをエクスポートするdllexport
属性で__declspec
(2つのアンダースコア)を使用する必要があります:
これは私が得るエラーです: リンケージ仕様は以前の "add"(1行目で宣言されています)と互換性がありません – pooya
ツアー[URL](http://stackoverflow.com) /助けてください)あなたが助けを必要とする場合 –
.libを取得しない場合、最も可能性のある事故は何かをエクスポートすることを忘れているということです。 __declspec(dllexport)または.defファイルを使用します。 –