Я написал приложение, используя Qt, и пытаюсь развернуть его. Я собрал свое приложение и попытался распространить его, но в итоге мне пришлось собирать Qt статически, чтобы пользователям не нужно было устанавливать библиотеки Qt только для запуска моего приложения. Единственная проблема заключается в том, что шрифты повреждены, а изображения не загружаются.
Чтобы статически собрать Qt, я сделал это:
./configure -static -release -ltcg -optimize-size -no-pch -prefix "/home/myuser/Qt/5.11.1-static" -skip webengine -nomake tools -nomake tests -nomake examples -fontconfig
make -j4
make -j4 install
Тогда была проблема неработающих шрифтов. Я продолжал получать сообщение об ошибке «QFontDatabase: Невозможно найти каталог шрифтов (каталог установки Qt) / libs / fonts», поэтому я скопировал папку шрифтов dejavu в моей системе в папку с именем «шрифты» в каталоге моей программы и создал сценарий Bash, который установите QT_QPA_FONTDIR в новый каталог шрифтов. Это позволило устранить ошибку и сделать текст в моем приложении видимым, но при вводе пароля вместо звездочек или любых других символов отображаются пустые символы. Кроме того, изображения не отображаются. У меня есть папка в том же каталоге, что и приложение под названием «images» с моими изображениями внутри, поэтому я сделал это:
QIcon home("(program directory)/images/home.svg");
QIcon vpn("./images/vpn.svg");
ui->tabWidget->setTabIcon(0, home);
ui->tabWidget->setTabIcon(1, vpn);
Изображения не отображаются, но отображаются, если программа построена с использованием динамического Qt. Я пробовал и полный путь, и использовал ./ для ссылки на текущий каталог, но ни один из них не приводит к появлению изображения.