正确部署Linux中的Qt应用程序

问题描述 投票:1回答:1

我使用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 fonts文件夹复制到程序目录中名为“fonts”的文件夹中,并创建了一个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构建的,它们就会显示。我尝试了完整路径并使用./来引用当前目录,但是没有一个导致图像出现。

c++ linux qt
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.