首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Linux上通过源代码构建的Qt5上找不到Qt平台插件xcb

在Linux上通过源代码构建的Qt5上找不到Qt平台插件xcb的问题,通常是由于构建过程中插件路径未正确设置或环境变量未配置导致的。以下是解决这个问题的详细步骤:

基础概念

Qt平台插件(Platform Plugin)是Qt框架的一部分,用于在不同操作系统上提供图形用户界面(GUI)的支持。xcb插件是用于X Window System(X11)的插件。

相关优势

  • 跨平台支持:Qt平台插件使得Qt应用程序能够在不同的操作系统上运行。
  • 灵活性:可以根据需要切换不同的平台插件,以适应不同的显示服务器。

类型

  • xcb:用于X Window System。
  • wayland:用于Wayland显示服务器。
  • windows:用于Windows操作系统。

应用场景

  • 桌面应用程序:大多数桌面应用程序使用xcb插件在Linux上运行。
  • 嵌入式系统:在某些嵌入式系统中,可能需要使用wayland插件。

问题原因

  • 路径未设置:构建过程中未正确设置插件的输出路径。
  • 环境变量未配置:未将插件路径添加到QT_PLUGIN_PATH环境变量中。

解决方法

  1. 检查插件路径: 确保在构建Qt5时,插件的输出路径已正确设置。通常,插件的输出路径在qtbase/mkspecs/linux-xcb-g++/qmake.conf文件中定义。
  2. 检查插件路径: 确保在构建Qt5时,插件的输出路径已正确设置。通常,插件的输出路径在qtbase/mkspecs/linux-xcb-g++/qmake.conf文件中定义。
  3. 设置环境变量: 将插件路径添加到QT_PLUGIN_PATH环境变量中。假设插件路径为/path/to/qt/plugins/platforms,可以通过以下命令设置:
  4. 设置环境变量: 将插件路径添加到QT_PLUGIN_PATH环境变量中。假设插件路径为/path/to/qt/plugins/platforms,可以通过以下命令设置:
  5. 为了使该设置在每次登录时自动生效,可以将上述命令添加到~/.bashrc~/.profile文件中。
  6. 重新构建Qt5: 如果路径和环境变量都已正确设置,但问题仍然存在,尝试重新构建Qt5。
  7. 重新构建Qt5: 如果路径和环境变量都已正确设置,但问题仍然存在,尝试重新构建Qt5。
  8. 验证插件: 确保插件已正确安装。可以通过以下命令检查:
  9. 验证插件: 确保插件已正确安装。可以通过以下命令检查:
  10. 应该能看到libqxcb.so文件。

示例代码

以下是一个简单的示例,展示如何在Qt应用程序中加载平台插件:

代码语言:txt
复制
#include <QApplication>
#include <QLabel>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    // 设置插件路径
    QCoreApplication::addLibraryPath("/path/to/qt/plugins");

    QLabel label("Hello, Qt!");
    label.show();

    return app.exec();
}

参考链接

通过以上步骤,应该能够解决在Linux上通过源代码构建的Qt5上找不到Qt平台插件xcb的问题。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Qt5 新特性

文本简单介绍 Qt5 特性,其具体内容来自 Qt5 官方 Wiki 介绍 。 前面说过,Qt5 最大特性在于模块化。这么多模块,Qt5 统称为 Qt Essentials。...如果在当前系统找不到 MIME 类型数据库(例如在大多数 Windows 或 Mac OS X 系统),Qt 则使用自己拷贝。...Qt 应用程序可以接受来自更多鼠标按键 Button 事件: XCB、XLIB 或 DirectFB 上达 27 个鼠标键; Wayland、Evdev 或 OS X 上达 16 个鼠标键; Blackberry...红、绿、蓝和 alpha 通道值由 “r”、“g”、“b” 和 “a” 属性获得 改进对 QVector4D 支持,现在在 QML 中可以使用 Qt.vector4d() 进行构建 通过 Module...其顺序是具有处理器 MouseArea 中从上往下传递。你也可以处理函数中忽略这些事件,让它们继续传递。这种行为通过属性 propagateComposedEvents 触发。

8.1K80
  • Qt | CMake(Qt5 VS Qt6)

    注意:从Qt 5.15开始,CMake目标也可以作为Qt::Core、Qt::Gui等等使用。这简化了编写可以Qt 5和Qt 6运行CMake代码。导入目标使用与配置Qt时相同配置创建。...::CoreCOVERAGE配置映射到RELEASE配置# 这意味着覆盖率构建时使用Release版本Qt5::Coreset_target_properties(Qt5::Core PROPERTIES...QT_VISIBILITY_AVAILABLEUnix,描述Qt库和插件是否用-fvisibility=hidden编译布尔值。这意味着只导出选定符号。..._add_resources将二进制资源编译成源代码qt5_generate_moc对输入文件调用mocqt5_import_plugins指定要为静态Qt构建导入自定义插件qt5_wrap_cpp...Qt构建导入自定义插件qt_generate_moc对输入文件调用mocqt_import_plugins指定要为静态Qt构建导入自定义插件qt_wrap_cpp创建来源.moc文件Qt5::

    9710

    推荐一个Linux记事贴

    有一阵子我都打算自己学习开发写一个记事贴纸了,所以有意无意看了点Linux桌面程序开发,但也只是知道了tk,qt这些框架。 正所谓念念不忘,必有回响。...前几天突发奇想用qt python note linux等关键字搜索一番,发现一个合适桌面程序primenote(原名qtpad,基于PyQT5开发),试用一番,感觉挺好,推荐给和我一样Linux重度用户...安装很简单 $ sudo pip3 install primnote debian 10上面可能出现 Got keys from plugin meta data ("xcb") QFactoryLoader...the Qt platform plugin "xcb" in "" even though it was found.....1 第一次运行会要求个性化配置 选择个人爱好界面,后面可以更改 启动后会在任务栏有图标,通过这个图标可以选择某个记事贴 以前安装qtpad文档可以导入到primnote 使用中发现一个微微不爽地方

    1.6K20

    linux下编译qt5.6.0静态库

    下面所介绍都只是linux下适用(windows下使用MinGW也可以,QT提供MinGW安装包是32位,需要64位可以参考)。...* -no-optimized-tools 即使调试版本中,也不构建优化主机工具 -optimized-tools 构建优化主机工具,即使调试版本 -opensource 编译和链接Qt开源版本...-qt-xkbcommon-x11 构建xcb中使用QT自带xkbcommon library . + -system-xkbcommon-x11 构建xcb中使用操作系统自带 xkbcommon...-no-rpath 不使用库安装路径作为一个运行时库路径 苹果平台上,这意味着使用绝对安装名称(基于libdir)动态库和框架。...这个问题原因就是没有AssimpParserPlugin这个插件,我找到了这个插件qt-everywhere-opensource-src-5.6.0/qt3d/plugin目录下。

    93930

    QT5 抛弃函数和用法

    QT5 抛弃函数和用法  技术不断进步,新知识也理应不断学习!Qt5发布带给我无尽好奇心,然而,受项目影响,一直使用VS2008+Qt4.8.3也未曾及时更新。...这几天,果断装上VS2010+Qt5.1.0,开始研究。Qt4过渡到Qt5不算显著,然而,“模块化”Qt代码需要项目配置变化,如使用“headers”,和配置项目构建(如改变*.pro文件)。...例如如何改变插件可以通过查找补丁,改变GIF图像格式插件,请查看:http://qt.gitorious.org/qt/qtbase/commit/963b4c1647299fd023ddbe7c4a25ac404e303c5d...部署系统没有使用C++11 当Qt系统安装了C++11,建立从源代码Qt库/框架链接,系统C++ 11库(libc++)。...为了能够部署到系统仅支持较旧C++标准(libstdc++),构建Qt源代码没有C++11配置选项。

    51530

    全志V853开发板试编译QT测试

    敲一下arm-openwrt-linux-gcc -v这样就能出现如上提示就OK了。 接下来我们准备下编译QT前先编译tslib这个底层使用触摸屏时候比较方便。...这里我选择1.15版本,这个都可以,本身Tina再构建时候好像就带了tslib。...然后我们选择一个QT5版本,这里我选择了QT5.12.6。然后新建一个装交叉编译完成文件夹我命名为arm-qt。之后我们一般选择构建一个脚本。 这里我建了一个叫make.sh。...-xplatform linux-arm-gnueabi-g++ 中间我们注意这个配置,这个配置是要对应我们交叉编译器。 把上面文件里面内容全部替换成我们交叉编译器名字。...路径下生成了很多文件,我们放到arm开发板也就是lib,和plugins这里面还没有字体文件,可以自己添加。

    21910

    全志 Tina Linux 图形系统 框架介绍 最全介绍 MiniGUI、QT5、EFL、GTK+(WebkitGtk、Midori)、DirectFB、Wayland

    通过make menuconfig中选择Qt–> qt5 use prebuilt来判断使用哪种编译方法。...平台插件参数配置package/qt/qt5/files/qt-env.sh 这个文件,如下所示,默认plat- forms是eglfs,其中MALI_NOCLEAR环境变量作用是调用eglInitialize...= 通常生成平台插件小机端: /usr/lib/qt5/plugins/platforms/libqeglfs.so linuxfb平台插件动态库为libqlinuxfb.so。.../qt/qt-washing-machine/src/doc文档 运行qt应用需要指定插件平台,目前QT支持插件平台有eglfs或者linuxfb,运行示例如下 所示: ....开发体验:工程中可以使用插件、自动化测试、开发者工具以及任何可以用来帮助构建高质量应用工具。

    16.9K10

    真正干货!100多条Qt开发经验,解决你开发各种问题!

    嵌入式linux运行Qt程序 Qt4写法:./HelloQt -qws & Qt5写法:./HelloQt --platform xcb 29....构建套件信息 message($$QT_ARCH) #表示arm平台构建套件 contains(QT_ARCH, arm) {} #表示32位构建套件 contains(QT_ARCH,...Qt打包发布,有很多办法,Qt5以后提供了打包工具windeployqt(linux为linuxdeployqt,mac为macdeployqt)可以很方便将应用程序打包,使用下来发现也不是万能...,改成qintptr有个好处,32位上自动是quint32而在64位上自动是quint64,如果在Qt5中继续写参数是int则在32位没有问题在64位才有问题,所以为了兼容Qt4和Qt5,必须按照不一样参数写...不同平台上文件路径斜杠也是不一样,比如linux系统一般都是 / 斜杠,而在windows都是 \\ 两个反斜杠,Qt本身程序内部无论win还是linux都支持 / 斜杠路径,但是一些第三方库的话可能需要转换成对应系统路径

    4.1K11

    Qt | ubuntu20.04安装Qt6.5.3并创建一个demo完整教程(涉及诸多开发细节,商用慎重)

    08、如果打开Qt Creator时报错,请按下一方法解决>>>【1】安装缺少库:确保系统安装了libxcb-cursor0以及其他相关xcb库,例如libxcb-util1、libxcb-xinerama0...大多数Linux发行版,可以使用包管理器安装,例如,使用aptUbuntu:sudo apt-get install libxcb-cursor0 libxcb-util1 libxcb-xinerama0.../gcc_64/lib>>>【3】再次点击Qt Creator如果还是出错,就通过MaintenanceTool工具,安装其他插件,可能是缺少缘故。...8、如果想要通过Git管理项目就选择,Qt已经集成了Git9,运行一下,点击绿色三角箭头或者ctrl+r10.效果【Qt linux平台安装 大结局】10、通过命令打开Qt Creator>>>打开终端...Linux平台安装Qt6.5.3【2】接下来我会为大家推出Qt+linux+ffmpeg\boost\等精品内容,这些都是目前企业招聘硬性要求。

    55310

    Github项目推荐 | PlotJuggler:时序数据可视化工具

    PlotJuggler 2.1.X 项目地址: https://github.com/facontidavide/PlotJuggler 基于QT5应用程序,使用直观“拖拽”操作界面显示绘图中时间序列...它可以用于: 从文件静态数据加载,或者 连接到实时数据流。 它功能可以通过插件轻松地进行扩展。...Ubuntu,debian可以通过以下命令来安装: sudo apt-get -y install qtbase5-dev libqt5svg5-dev qtdeclarative5-dev Fedora...安装PlotJuggler最简单方法是运行以下命令: sudo apt-get install ros-kinetic-plotjuggler 不过,如果你想从源代码编译它,例如在master分支尝试最新版本...,你必须使用catkin来构建PlotJuggler,否则将不包括ROS相关插件

    6.7K21

    Qt编写控件属性设计器7-串口采集

    串口通信大量工业控制领域用最多,就因为稳定两个字,长期霸占了几十年通信规则,现在还有大量工业控制设备使用就是串口通信,Qt5以后封装了串口通信类,不过据说不大好用,也不大稳定,本人在早期...Qt5,还没升级到Qt5可能也是考虑到稳定性原因。...所有控件属性自动提取并显示右侧属性栏,包括枚举值下拉框等。 支持手动选择插件文件,外部导入插件文件。 可以将当前画布所有控件配置信息导出到xml文件。...linux等,不乱码,可直接集成到Qt Creator中,和自带控件一样使用,大部分效果只要设置几个属性即可,极为方便。...Qt入门书籍推荐霍亚飞Qt Creator快速入门》《Qt5编程入门》,Qt进阶书籍推荐官方《C++ GUI Qt4编程》。

    2.2K00

    基于NXP i.MX28 MPU疫情监控平台2-Qt环境搭建

    Qt/E 所面对硬件平台较多,当开发人员需要在某硬件平台上移植 Qt/E 时,需要下载Qt 源代码,利用交叉编译器编译出 Qt 库。...3.3 开发板运行Hello World 通过scp传输,NFS共享方式把这个文件开发板运行: ? scp文件传输 开发板运行: ? 运行Qt程序 实际效果: ?...实际运行 4.Linux桌面版本Qt环境搭建 Qt 是一个跨平台图形框架,安装了桌面版本 Qt SDK 情况下,用户可以先在PC 主机上进行 Qt 应用程序开发调试,待应用程序基本成型后,再将其移植到目标板...官方下载链接里,只提供了Linux版本Qt5,而如果想安装Linux版本Qt4,需要自己使用源码进行编译。...配置交叉编译器 然后构建套件(Kit)下新建一个构建套件 #名称 imx287 #设备类型 同样Linux设备 #C/C++编译GDB 一步设置对应工具名称 ?

    2.8K60

    Qt编写控件属性设计器

    所有控件属性自动提取并显示右侧属性栏,包括枚举值下拉框等。 支持手动选择插件文件,外部导入插件文件。 可以将当前画布所有控件配置信息导出到xml文件。...三、组态介绍 组态软件,又称组态监控系统软件,是指数据采集与过程控制专用软件,也是指在自动控制系统监控层一级软件平台和开发环境。...这些软件实际也是一种通过灵活组态方式,为用户提供快速构建工业自动控制系统监控功能、通用层次软件工具。组态软件广泛应用于机械、汽车、石油、化工、造纸、水处理以及过程控制等诸多领域。...linux等,不乱码,可直接集成到Qt Creator中,和自带控件一样使用,大部分效果只要设置几个属性即可,极为方便。...Qt入门书籍推荐霍亚飞Qt Creator快速入门》《Qt5编程入门》,Qt进阶书籍推荐官方《C++ GUI Qt4编程》。

    3.5K10

    嵌入式Linux-Qt环境搭建

    本编介绍如何在嵌入式Linux开发板配置Qt运行环境,并进行Qt程序运行测试。 1 tslib编译 tslib之前测试触摸屏时候使用过,这里再来记录一下编译过程。...Qt5源码 下载地址:https://download.qt.io/archive/qt/5.15/5.15.2/single/ 将下载qt-everywhere-src-5.15.2.tar.xz...其它一些参数含义: -opensource:构建Qt开源版本 -release:使用release版本Qt -xplatform linux-arm-gnueabi-g++:指定编译器 -skip...3 开发板配置Qt环境 3.1 复制tslib和Qt编译文件 将之前打包arm-tslib.tar.bz2和arm-qt.tar.bz2压缩包复制到板子中,可以先复制到nfs网络位置,然后解压到...Qt运行测试 Qt编译文件中,自带Qt一些例子,可以先来板子运行这些例子看看Qt程序能否板子正常运行。

    4.6K30

    错误 could not find or load the Qt platform plugin xcb 解决方案

    使用 VS code 调试Linux远程代码时报错,could not find or load the Qt platform plugin "xcb",本文记录解决方案。...错误分析 部署软件时,没有将Qt插件文件下platforms中libqxcb.so库部署上去 或者部署了部分Qt库,但是该库依赖其他库丢失 总之就是Qt依赖或间接依赖系统路径下找不到了...调试方法 系统变量中加入 export QT_DEBUG_PLUGINS=1 这样再次运行程序时会报出Qt 错误信息 解决方案 查找到出问题库 如果出问题库不在,那就补足到系统LD_LIBRARY_PATH...开启Qt debug后显示错误信息 Got keys from plugin meta data ("xcb") QFactoryLoader::QFactoryLoader() checking.../liblzma.so.5 (0x00007fe8e77ef000) 可以看到 libXi.so.6 没有找到,他本质指向 libXi.so.6.1.0 于是我从其他电脑复制来了 libXi.so

    4.3K10
    领券