Я пытаюсь изменить статическую переменную внутри DLL, поэтому, когда вызывается внешняя функция "ChangeVar", она меняет статическую переменную.Моя проблема в том, что я не могу ничего скомпилировать.Весь код ниже находится в одном C ++ проекте, скомпилированном в одну DLL.У меня нет проблем с вызовом функции, если я не пытаюсь изменить или получить статическую переменную.
Static.h
class API
{
public:
static int iValue;
};
Functions.cpp
#include "Static.h"
extern "C"
{
__declspec(dllexport) bool ChangeVar()
{
API::iValue = 0;
if(API::iValue == 0)
{
return true;
}
else
{
return false;
}
}
}
Когда я делаю это, я просто делаю две ошибки:
Error 1 error LNK2001: unresolved external symbol "public: static int API::iValue" (?iValue@API@@2HA)
Error 2 error LNK1120: 1 unresolved externals
Что мне нужно сделать, чтобы создать статическую переменную (очевидно, мой способ не работает), и как я могу изменить ее так, чтобыон работает как статический, где его значение будет изменено в памяти?