Я не могу экспортировать массив из DLL. Вот мой код:Как экспортировать массив из 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
Как справиться с ошибка, поднятая компоновщиком и какие правила нарушены?
* UPDATE: * IDE Visual Studio 2010.
Client - написана на C++, а также DLL на C++
Я думаю, вам нужно поставить MYLIB в массиве * определение *. –
@ н.м. После того, как вы предложили - я пробовал, он не работает –