我无法从 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 Visual Studio 2010。
客户端 - 使用 C++ 编写,DLL 也使用 C++