gpt4 book ai didi

c++ - 在 Debian 8.3 上找不到 Qt 平台插件 'xcb'

转载 作者:行者123 更新时间:2023-11-28 00:06:34 25 4
gpt4 key购买 nike

我在 Ubuntu 15.10 上编译了一个简单的 Qt 应用程序。
我在可执行文件所在的同一目录中创建了一个 lib 和一个平台文件夹。
我复制了 libicudata.so.54、libicui18n.so.54、libicuuc.so.54、libQt5Core.so.5、libQt5DBus.so.5、libQt5Gui.so.5、libQt5Widgets.so.5、libQt5XcbQpa.so.5 到 lib,libxcb.so 到平台,
然后将带有文件夹的应用程序移动到全新的 Debian 8.3 安装。
我还创建了一个包含以下内容的 start.sh 脚本:

export LD_LIBRARY_PATH=$PWD/lib
export QT_QPA_PLATFORM_PLUGIN_PATH=$PWD/platforms
./QtTestApp

但是当我使用脚本启动应用程序时,它说找不到 Qt 平台插件“xcb”...
我已经在应用程序本身和 libxcb.so 上运行了 ldd,但它似乎已经找到了一切......

最佳答案

“平台”是插件目录的子文件夹。

示例结构

./QtTestApp
./qt.conf
./lib
./lib/libicudata.so.54
./lib/libicui18n.so.54

./lib/libQt5Widgets.so.5
./plugins/platforms
./plugins/platforms/libqxcb.so
./plugins/platforms/libqlinuxfb.so
./plugins/platforms/libqoffscreen.so
./plugins/platforms/libqminimal.so

使用 qt.conf

[Paths]
Prefix = .

在这种情况下,通常不需要设置QT_QPA_PLATFORM_PLUGIN_PATH。

如果将 ./QtTestApp 的 RPATH 设置为 $ORIGIN/lib,也可以避免 LD_LIBRARY_PATH。


注意:您在 Ubuntu 15.10 上编译的应用程序可能无法在 Debian 8 上运行。这是因为 Ubuntu 15.10 使用更新版本的 libc 和 libstdc++,这在 Debian 8 上不可用。您可以解决该问题当你使用 Ubuntu 14.04 作为编译机器时。那么你大约有this list of compatible target distributions .

关于c++ - 在 Debian 8.3 上找不到 Qt 平台插件 'xcb',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35395438/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com