В начале файла dllmain.cpp
есть такой фрагмент кода: extern "C" HINSTANCE hAppInstance;
. При линковке вылетает ошибка LNK2001 unresolved external symbol _hAppInstance C:\...\dllmain.obj
, но никаких _hAppInstance
в проекте нет. Есть только hAppInstance, который используется в dllmain.cpp и который объявлен. MSDN говорит, что LNK2001 появляется если символ не объявлен (https://docs.microsoft.com/en-us/cpp/error-messages/tool-errors/linker-tools-error-lnk2001?view=vs-2019). Что не так с объявлением hAppInstance
и почему линковщик не видит его?
При записи "в одну строчку", т.е. без {}
extern "C" HINSTANCE hAppInstance;
является объявлением, но не определением переменной. Без определения разумеется будет LNK2001.
Либо добавьте отдельное определение (после этого объявления)
extern "C" HINSTANCE hAppInstance;
HINSTANCE hAppInstance;
Либо превратите это объявление в определение путем добавления явного инициализатора
extern "C" HINSTANCE hAppInstance = 0;
Либо превратите это объявление в определение путем добавления {}
extern "C" { HINSTANCE hAppInstance; }
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Разрабатываю имплементацию очереди задачВ классе содержатся следующие данные:
подскажите пожалуйста, у меня есть проект на Qt с использованием qml-я, своеобразное приложение для работы с базой данныхВозникла необходимость...
Создаю граматику для вычисления выраженияИспользую Boost