DLLから配列をエクスポートできません。これが私のコードです:
「DLLヘッダー」
#ifdef EXPORT
#define MYLIB __declspec(dllexport)
#else
#define MYLIB
#endif
extern "C" {
/* Allows to use file both with Visual studio and with Qt*/
#ifdef __cplusplus
MYLIB double MySum(double num1, double num2);
extern MYLIB char ImplicitDLLName[];
#else
extern Q_DECL_IMPORT char ImplicitDLLName[];
Q_DECL_IMPORT double MySum(double num1, double num2);
#endif
}
「DLLソース」
#define EXPORT
#include "MySUMoperator.h"
double MySum(double num1, double num2)
{
return num1 + num2;
}
char ImplicitDLLName[] = "MySUMOperator";
「クライアントmain.cpp」
int main(int argc, char** argv)
{
printf("%s", ImplicitDLLName);
}
ビルドすると、リンカーから次のエラーが発生します。
Error 2 error LNK2001: unresolved external symbol _ImplicitDLLName \Client\main.obj
//配列をエクスポートする目的は、DLLからのさまざまなデータ構造体のエクスポートを調査することです。
リンカによって発生したエラーに対処する方法と違反しているルールは何ですか?
*更新:*
IDE VisualStudio2010。
クライアント-C++で記述されており、DLLもC++で記述されています。