Russian Qt Forum
Март 28, 2024, 20:25 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Подробная диагностика для QLibrary::load()  (Прочитано 2390 раз)
DarkHobbit
Самовар
**
Offline Offline

Сообщений: 189


Просмотр профиля
« : Октябрь 13, 2022, 11:03 »

Добрый день.
Как все знают, QLibrary::load() может не сработать, и в errorString() при этом можно увидеть сообщение "Не найден указанный модуль".
Проблема в том, что в роли "указанного модуля" может выступать не сама загружаемая библиотека, а одна из библиотек, от которых она зависит.
Можно ли как-то расковырять информацию о том, какая именно библиотека второго уровня не найдена?

Я даже готов для этого наковырять платформозависимые костыли для Linux и Windows. Если это поможет, конечно.
Куда копать?
Записан

Мои проекты на Qt: DoubleContact, LInvert
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4724



Просмотр профиля WWW
« Ответ #1 : Октябрь 13, 2022, 11:18 »

в Макос (линуксе вроде тоже) список зависимостей можно увидеть через otool -L, в винде наверное есть что-то аналогичное
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
DarkHobbit
Самовар
**
Offline Offline

Сообщений: 189


Просмотр профиля
« Ответ #2 : Октябрь 28, 2022, 14:01 »

Ну это "внешний" способ. Хотелось бы надёжную диагностику в Runtime, чтобы при запуске было понятно, кто виноват - программист, тот, кто дистрибутив формировал или вообще кто-то третий. А то, грубо говоря, программа тащит Qt, Qt тащит libpq, libpq тащит libiconv и ещё бог весть что из библиотек, вплоть до Microsoft Redistributable... а исход один, "driver not loaded".

Как там в анекдоте про Папу Римского - несправедливо!

P.S. Приведённый пример с драйверами - всего лишь пример, есть и другие похожие ситуации.
Записан

Мои проекты на Qt: DoubleContact, LInvert
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.051 секунд. Запросов: 22.