Ubuntu18.04下,QT5移植到ARM板上运行程序发生异常:could not find or load the Qt platform plugin "linuxfb"原因

作者:陈浩
特别助理:游成伟
QT移植库文件后,运行qt可执行程序,结果显示如下异常:

/home/appbin # ./armBoardLight 
This application failed to start because it could not find or load the Qt platform plugin "linuxfb"
in "/home/qt/plugins".

Available platform plugins are: linuxfb, minimal, offscreen, vnc.

Reinstalling the application may fix this problem.
Aborted
/home/appbin # 

在试过重新在上位机编译QT源码,重新移植QT动态库文件后,任然出现这种问题。
在arm下位机配置文件/etc/profile后面添加如下调试环境变量:

export QT_DEBUG_LUGINS=1

保存退出,然后重启下位机arm板后,上位机屏幕显示如下信息:

/home/appbin # ./armBoardLight 
QFactoryLoader::QFactoryLoader() checking directory path "/home/qt/plugins" ...
QFactoryLoader::QFactoryLoader() checking directory path "/home/appbin" ...
QFactoryLoader::QFactoryLoader() looking at "/home/appbin/armBoardLight"
"Failed to extract plugin meta data from '/home/appbin/armBoardLight'" 
         not a plugin
QFactoryLoader::QFactoryLoader() checking directory path "/home/qt/plugins/platforms" ...
QFactoryLoader::QFactoryLoader() looking at "/home/qt/plugins/platforms/libqlinuxfb.so"
Found metadata in lib /home/qt/plugins/platforms/libqlinuxfb.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "linuxfb"
        ]
    },
    "className": "QLinuxFbIntegrationPlugin",
    "debug": false,
    "version": 329989
}


Got keys from plugin meta data ("linuxfb")
QFactoryLoader::QFactoryLoader() looking at "/home/qt/plugins/platforms/libqminimal.so"
Found metadata in lib /home/qt/plugins/platforms/libqminimal.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "minimal"
        ]
    },
    "className": "QMinimalIntegrationPlugin",
    "debug": false,
    "version": 329989
}


Got keys from plugin meta data ("minimal")
QFactoryLoader::QFactoryLoader() looking at "/home/qt/plugins/platforms/libqoffscreen.so"
Found metadata in lib /home/qt/plugins/platforms/libqoffscreen.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "offscreen"
        ]
    },
    "className": "QOffscreenIntegrationPlugin",
    "debug": false,
    "version": 329989
}


Got keys from plugin meta data ("offscreen")
QFactoryLoader::QFactoryLoader() looking at "/home/qt/plugins/platforms/libqvnc.so"
Found metadata in lib /home/qt/plugins/platforms/libqvnc.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "vnc"
        ]
    },
    "className": "QVncIntegrationPlugin",
    "debug": false,
    "version": 329989
}


Got keys from plugin meta data ("vnc")
QFactoryLoader::QFactoryLoader() checking directory path "/home/appbin/platforms" ...
Cannot load library /home/qt/plugins/platforms/libqlinuxfb.so: (libts-1.0.so.0: cannot open shared object file: No such file or directory)
QLibraryPrivate::loadPlugin failed on "/home/qt/plugins/platforms/libqlinuxfb.so" : "Cannot load library /home/qt/plugins/platforms/libqlinuxfb.so: (libts-1.0.so.0: cannot open shared object file: No such file or directory)"
This application failed to start because it could not find or load the Qt platform plugin "linuxfb"
in "/home/qt/plugins".

Available platform plugins are: linuxfb, minimal, offscreen, vnc.

Reinstalling the application may fix this problem.
Aborted

仔细阅读以上调试信息,发现发生真正错误处:

Cannot load library /home/qt/plugins/platforms/libqlinuxfb.so: (libts-1.0.so.0: cannot open shared object file: No such file or directory)

发现原因是缺少动态库文件libts-1.0.so.0
在上位机交叉编译器里找到这个动态库的软链接和硬链接文件,全部移植到arm板下位机,然后重启下位机,至此,下位机成功运行qt可执行文件。

  • 6
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
这个错误信息通常表示Qt应用程序无法加载xcb平台插件,导致无法连接到显示器。这可能是由于缺少必要的库文件或配置问题引起的。为了解决这个问题,你可以尝试以下几个步骤: 1. 确保你的系统中已经安装了xcb平台插件所需的依赖库。你可以尝试安装libxcb和libxcb-xinerama这两个包,它们通常包含了所需的库文件。 2. 检查你的环境变量是否正确设置。确保QT_PLUGIN_PATH变量指向了包含xcb插件的目录。你可以通过运行命令`echo $QT_PLUGIN_PATH`来检查该变量的值。如果变量未设置或指向了错误的路径,你可以通过设置正确的路径来解决问题。 3. 如果以上步骤都没有解决问题,你可以尝试重新安装Qt应用程序。这可能会修复任何损坏的文件或配置。确保在重新安装之前先卸载旧版本的应用程序。 4. 如果你使用的是Ubuntu 18.04,你可以参考引用中提供的解决方案。这个文档专门介绍了在Ubuntu 18.04下解决Qt出现该问题的方法。 总之,解决Linux中出现qt.qpa.xcb: could not connect to display qt.qpa.plugin: Could not load the Qt platform plugin "xcb"错误的方法包括安装依赖库、检查环境变量设置、重新安装应用程序以及参考特定操作系统版本的解决方案。希望这些方法能帮助到你解决问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [qt.qpa.xcb: could not connect to display qt.qpa.plugin: Could not load the Qt platform plugin “xcb](https://blog.csdn.net/qq_15269787/article/details/126361820)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [opencv报错:qt.qpa.xcb: could not connect to display qt.qpa.plugin: Could not load the Qt platform ...](https://blog.csdn.net/weixin_43986898/article/details/116484277)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [Ubuntu18.04下解决Qt出现qt.qpa.plugin:Could not load the Qt platform plugin “xcb“问题](https://download.csdn.net/download/weixin_38695061/12841039)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值