Часто возникают проблемы с ошибкой "Error LNK2019: unresolved external symbol ..."
Эта ошибка до этого дня для меня была просто бичом при разработке - все дело в том, что её смысл был для меня просто напросто загадочен, а попытки дословно перевести не давали четкого понятия что же в самом деле не нравиться компилятору.
Помогла статья на сайте MSDN (заметил сейчас что потихоньку начали стираться границы между русской и английской документацией)
Итого причины:
Эта ошибка до этого дня для меня была просто бичом при разработке - все дело в том, что её смысл был для меня просто напросто загадочен, а попытки дословно перевести не давали четкого понятия что же в самом деле не нравиться компилятору.
Помогла статья на сайте MSDN (заметил сейчас что потихоньку начали стираться границы между русской и английской документацией)
Итого причины:
- Подключили заголовочный файл, но не подключили библиотеку. Для подключения библиотеки, к примеру glaux.lib нужно в начале какого-нибудь .cpp файла прописать
#pragma comment (lib, "glaux.lib")
Также можно в настройках проекта сделать тоже самое. - Если ошибка и дальше возникает - читайте далее что пишет компилятор. К примеру он пишет:
error LNK2001: unresolved external symbol "struct _AUX_RGBImageRec * textureCar" (?textureCar@@3PAU_AUX_RGBImageRec@@A)
Безусловно, нам мало что скажет то скопище символов в скобках справа, но то, что находиться перед ними довольно много значит, а именно: Вы объявили о том, что где-то в проекте у вас будет инициализирован или определен объект типа AUX_RGBImageRec с именем *textureCar (то есть указатель на объект типа AUX_RGBImageRec). И следовательно вы должны убедиться, что вы действительно это сделали. Например такая ошибка будет если вы напишете:
// LNK2019.cpp // ожидается ошибка LNK2019 extern char B[100]; // B не доступен для линковщика int main() { B[0] = ' '; }
И именно это мне хотелось сделать, когда утром опять не получилось сделать лабораторную по Java с её абстрактными классами и наследованием
Комментариев нет:
Отправить комментарий