Существует большой проект, состоящий из нескольких компонентов, представленных в виде dll.В одном компоненте я использую QLibrary
, для вызова кода из.Раньше все работало хорошо, dll была загружена и все работало правильно, однако, после внесения изменений в код dll и его перекомпиляции, при одном из запусков, когда я вызываю метод load, программа просто зависает.
Я пытался очистить весь проект и восстановить его с нуля, но когда я вызываю метод boot
, выполнение постоянно останавливается.Это не дает никаких ошибок.isLibrary
, вызываемый перед загрузкой, подтверждает, что библиотека выбрана правильно.
void libLoad( QLibrary &lib, const QString &fileName ) {
lib.setFileName( fileName + dllVersionString );
auto name = lib.fileName( ); //just to make sure the name is correct
auto isLibrary = lib.isLibrary( fileName + dllVersionString ); //just to make sure dll is found
if ((lib).load( )) { //work stops here
qDebug( ) << QString( "library " + lib.fileName( ) + " loaded" );
} else {
throw QString( QString::fromLocal8Bit( "Failed to load library " ) + lib.fileName( ));
}
}
Проблема возникает только при отладке.Я использую Qt Creator, с msvc.