В моем игровом движке я динамически загружаю общую библиотеку, используя:
Код: Выделить всё
pModule = LoadLibraryW(modulePath.wstring().c_str());
когда я обнаруживаю изменения файла в исходном коде библиотеки, я сначала выгружаю библиотеку, используя
Код: Выделить всё
FreeLibrary((HMODULE)pModule);
SetDllDirectory(NULL);
а затем запустить перекомпиляцию. Однако здесь возникает ошибка:
Код: Выделить всё
LINK : fatal error LNK1168: cannot open [...]\Projects\EditorGame\build\module.dll for writing
Если я запускаю программу без отладки, а затем запускаю пересборку, программа успешно компилируется и компонуется. Это говорит о том, что CLion сохраняет ссылку на модуль.dll в своем отладчике.
Можно ли как-нибудь заставить CLion выгрузить .dll?
Подробнее здесь:
https://stackoverflow.com/questions/793 ... reelibrary