在Archlinux上找不到或加载Qt平台插件“ xcb”(写!AppImage)

时间:2018-12-12 23:24:07

标签: qt5 archlinux freetype2 fontconfig

尝试安装Write!安装了qt5,freetype2 2.9.1和fontconfig 2:2.13.1 + 12 + g5f5ec56-1的Arch Linux上的AppImage

[levi@astize Write!]$ ./write
This application failed to start because it could not find or load the Qt platform plugin "xcb"
in "".

Available platform plugins are: xcb.

Reinstalling the application may fix this problem.
Aborted (core dumped)

使用Sub Slicer_select() ActiveWorkbook.SlicerCaches("Slicer_Fruit").ClearManualFilter Dim Sl_I As SlicerItem For Each Sl_I In ActiveWorkbook.SlicerCaches("Slicer_Fruit").SlicerItems If Not Sl_I.Value Like "abcx*" Then Sl_I.Selected = False Next End Sub

运行时
[levi@astize Write!]$ ./write
QFactoryLoader::QFactoryLoader() checking directory path "/tmp/.mount_unuY6s/usr/plugins/platforms" ...
QFactoryLoader::QFactoryLoader() looking at "/tmp/.mount_unuY6s/usr/plugins/platforms/libqxcb.so"
Found metadata in lib /tmp/.mount_unuY6s/usr/plugins/platforms/libqxcb.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "xcb"
        ]
    },
    "className": "QXcbIntegrationPlugin",
    "debug": false,
    "version": 329989
}


Got keys from plugin meta data ("xcb")
QFactoryLoader::QFactoryLoader() checking directory path "/tmp/.mount_unuY6s/usr/bin/platforms" ...
Cannot load library /tmp/.mount_unuY6s/usr/plugins/platforms/libqxcb.so: (/usr/lib/libfontconfig.so.1: undefined symbol: FT_Done_MM_Var)
QLibraryPrivate::loadPlugin failed on "/tmp/.mount_unuY6s/usr/plugins/platforms/libqxcb.so" : "Cannot load library /tmp/.mount_unuY6s/usr/plugins/platforms/libqxcb.so: (/usr/lib/libfontconfig.so.1: undefined symbol: FT_Done_MM_Var)"
This application failed to start because it could not find or load the Qt platform plugin "xcb"
in "".

Available platform plugins are: xcb.

Reinstalling the application may fix this problem.
Aborted (core dumped)

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

我认为问题与此错误有关:

/usr/lib/libfontconfig.so.1: undefined symbol: FT_Done_MM_Var

您应该升级fontconfig库。尝试使用版本2.13

答案 1 :(得分:0)

在Qt中编译一个c ++应用程序并将其部署到生产机器后,我一直在努力解决此错误。这是我为解决此问题所做的一些事情。

  • 安装Qt库。我的机器安装在我的开发机器上的~/Qt/5.9.8/gcc_64/lib/中。我只是简单地将此目录复制到生产机器上。

  • 使用ldd -v /path/to/your/app查找并解决缺少库的问题。

  • 设置环境变量: LD_LIBRARY_PATH=~/Qt/5.9.8/gcc_64/lib/:/path/to/any/custom/libs/for/your/app QT_PLUGIN_PATH=/usr/lib/x86_64-linux-gnu/qt5/plugins