Техническое задание: Настройка путей к библиотекам в Qt Creator
Контекст проблемы
Существует проект, разрабатываемый в среде Qt Creator версии 18.0.0 с использованием Qt 6.10.0 и компилятора GCC 10.3.1 под операционной системой Ubuntu Linux (x86_64). Проект успешно компилируется, и исполняемые файлы генерируются в папки сборки Debug и Release.
Суть проблемы
При попытке запуска скомпилированного исполняемого файла (например, ./myproject) непосредственно из терминала, система выдает ошибку о невозможности загрузить разделяемую библиотеку:
- Ошибка:
error while loading shared libraries: libhdf5.so.103: cannot open shared object file: No such file or directory - Проблема возникает как для Debug, так и для Release сборок.
- В среде Qt Creator (в режиме проектирования) проект запускается без ошибок.
Цель задачи
Необходимо обеспечить корректный запуск исполняемого файла проекта из любой директории, разрешив проблему с динамическим связыванием и путями к сторонним библиотекам (на примере libhdf5).
Ожидаемые действия исполнителя
- Проанализировать текущую конфигурацию проекта (.pro файл) и настройки сборки в Qt Creator.
- Предложить решение для корректного указания путей к зависимым библиотекам во время линковки и/или запуска.
- Рассмотреть варианты, такие как настройка переменной окружения
LD_LIBRARY_PATH, использование rpath, или копирование библиотек в целевые папки сборки. - Обеспечить, чтобы решение работало для обеих конфигураций сборки (Debug и Release).
- Предоставить четкие инструкции по внедрению решения.
Требования к решению
- Решение должно быть реализовано в контексте Qt Creator и системы сборки qmake.
- Исполняемый файл должен запускаться независимо от текущей рабочей директории пользователя.
- Предпочтение отдается «чистым» методам настройки путей, не требующим прав суперпользователя.