![](/img/trans.png)
[英](Qt 5.4.1) This application failed to start because it could not find or load the Qt platform plugin “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.