Задать вопрос
@Quark_Hell
C++ программист

Почему я получаю «unresolved external symbol»?

Моему классу из DLL необходимо иметь статичные пременные.Однако,при попытке их использовать, я получаю ошибку LNK2001.

Вот часть моего кода:

.h
extern "C" GRAPHICLIBRARY_API int SizeX;

extern "C" GRAPHICLIBRARY_API int SizeY;

extern "C" GRAPHICLIBRARY_API vector<string> Screen;


.cpp
static class ScreenClass {
public:
    __declspec(dllexport) static int SizeX;
public:
    __declspec(dllexport) static int SizeY;

public:
    __declspec(dllexport) static vector<string> Screen;

public:
    __declspec(dllexport) static bool InitializeScreen(int sizeX,int sizeY) {

//Ошибка ссылается на строки ниже:

        ScreenClass::SizeX = sizeX; 
        ScreenClass::SizeY = sizeY; 

        ScreenClass::Screen.clear(); 
//.......
       }
}


Заранее спасибо за помощь.
  • Вопрос задан
  • 62 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Разработчик C++
    9 месяцев
    Далее
  • Нетология
    Специалист по информационной безопасности + нейросети
    12 месяцев
    Далее
  • Компьютерная академия «TOP»
    Учебная программа “Разработка программного обеспечения”
    30 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
extern "C" GRAPHICLIBRARY_API int SizeX;
extern "C" GRAPHICLIBRARY_API int SizeY;

//Ошибка ссылается на строки ниже:

ScreenClass::SizeX = sizeX;
ScreenClass::SizeY = sizeY;

Разницу в регистре видишь?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы