Отображение QIcon, хранящихся в ресурсах библиотеки dll / so

Проект Qt 5/6 содержит несколько подключаемых библиотек, которые реализуют некоторый интерфейс. Для оформления используются иконки формата svg. Используются в проекте так:

QIcon(":img/datepicker.svg")

в коде библиотеки используются так:

QIcon(":plgcomponents/img/datepicker.svg")

где в первом случае img - это префикс для иконок ресурсов проекта (exe файла), а во втором - plgcomponents/img - префикс, используемый в ресурсном файле dll. При сборке в Windows все отображается нормально, но в случае сборки в Linux - иконки не отображаются.

Windows

Windows

Linux

Linux

Такое впечатление, что иконки видны только те, которые находятся только в ресурсном файле самого приложения.

Вопрос: Есть ли какие-нибудь идеи как исправить ситуацию, кроме переноса иконок в ресурсы приложения?


Ответы (1 шт):

Автор решения: Ingvar

Хм. Решение проблемы оказалось простым. Файл ресурсов res.qrc лежал в подпапке относительно исходного кода. Т.е. код в папке src, а файл ресурсов src/resource/res.qrc. Стоило его перенести на уровень выше - проблема разрешилась сама собой.

Чертов Хогвартс! ))))

→ Ссылка