繁体   English   中英

此应用程序无法启动,因为无法找到或加载Qt平台插件“ xcb”

[英]This application failed to start because it could not find or load the Qt platform plugin “xcb”

这个存在的答案不能解决我的问题

在qt 官方示例中 ,我使用以下CMakeLists.txt

SET(CMAKE_PREFIX_PATH /media/roroco/disk750/Downloads/qtbase)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
find_package(Qt5Widgets)
find_library(xcb NAMES qxcb PATHS /media/roroco/disk750/Downloads/qtbase/plugins/platforms)
add_executable(systray main.cpp window.cpp systray.qrc)
target_link_libraries(systray Qt5::Widgets ${xcb})

我明白了

This application failed to start because it could not find or load the Qt platform plugin "xcb".

如何在cmake中添加“ xcb”插件?

更新

我确定find_library(xcb找到了lib“ /media/roroco/disk750/Downloads/qtbase/plugins/platforms/libqxcb.so”。

当我ldd /media/roroco/disk750/Downloads/qtbase/plugins/platforms/libqxcb.so ,显示了一些deps显示“未找到”,所以我想原因是

我发现的临时解决方案是添加

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${qt_rt}/lib
export QT_QPA_PLATFORM_PLUGIN_PATH=${qt_rt}/plugins
export QT_QPA_FONTDIR=${qt_rt}/lib/fonts

到〜/ .bashrc和源〜/ .bashrc,重新打开编辑器,然后重试。

但是这里有个问题,当我在CMakeLists.txt中使用set(ENV{LD_LIBRARY_PATH} path/to/qtbase/lib)而不是〜/ .bashrc中的export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:path/to/qtbase/lib时,它不会t工作,它仍然会引发错误,如果有人知道原因,请为此问题创建新答案,我认为在cmake中更改env是更好的方法

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM