说起来我都不信,再linux下安装个QT 这么难吗?重装了几次系统,醉了,下面说一下我遇到的问题:
- round1:
安装完成后,执行qtcreator 提示:
Linux qt "qt.qpa.plugin: Could not load the Qt platform plugin "xcb" "
搜素一通,配置输出错误日志详细信息
sudo gedit ~/.bashrc文件中添加如下语句:
export QT_DEBUG_PLUGINS=1
export LD_LIBRARY_PATH=/opt/Qt5.13.1/5.13.1/gcc_64/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/opt/Qt5.13.1/Tools/QtCreator/lib:$LD_LIBRARY_PATH
后两句是从把链接库路径加到搜索路径中,不知道有没有生效。
此处重点强调其实第一句话,加上此配置项后,QtCreator就会输出大量信息,这样我们,才能有的放矢,一步步解决问题/
使改动生效
sudo source ~/.bashrc
- round2:
再次从命令行中执行qtcreator程序,此时输出一大堆日志信息,跳到最后发现提示:
Cannot load library /opt/Qt5.13.1/Tools/QtCreator/lib/Qt/plugins/platforms/libqxcb.so: (libxkbcommon-x11.so.0: 无法打开共享对象文件: 没有那个文件或目录)
QLibraryPrivate::loadPlugin failed on "/opt/Qt5.13.1/Tools/QtCreator/lib/Qt/plugins/platforms/libqxcb.so" : "Cannot load library /opt/Qt5.13.1/Tools/QtCreator/lib/Qt/plugins/platforms/libqxcb.so: (libxkbcommon-x11.so.0: 无法打开共享对象文件: 没有那个文件或目录)"
很明显动态库加载失败,首先查看是否存在此文件,存在,然后查看其依赖库是否都能够成功找到:
ldd /opt/Qt5.13.1/Tools/QtCreator/lib/Qt/plugins/platforms/libqxcb.so
此时发现有与libxkbcommon相关的库找不到,ok百度一下,需要安装此库,用yum安装:
yum -y install libxkbcommon-x11-devel
- round 3 缺少dbus
继续执行还是有错误,跳到最后一行 还是有错误,提示dbus 出错
/opt/Qt5.13.1/Tools/QtCreator/bin/qtcreator: relocation error: /opt/Qt5.13.1/Tools/QtCreator/lib/Qt/plugins/platforms/../../lib/libQt5DBus.so.5: symbol dbus_message_set_allow_interactive_authorization, version LIBDBUS_1_3 not defined in file libdbus-1.so.3 with link time reference
ok继续 安装dbus库
yum -y install dbus-devel
round4
继续执行,此时提示如下错误
opt/Qt5.13.1/Tools/QtCreator/bin/qtcreator: symbol lookup error: /opt/Qt5.13.1/Tools/QtCreator/lib/Qt/plugins/platforms/../../lib/libQt5XcbQpa.so.5: undefined symbol: FT_Get_Font_Format
百度一下,需要安装freetype-devel,欧克
yum -y install freetype-devel
总而言之,一切从配置此环境变量开始export QT_DEBUG_PLUGINS=1,大家遇到的问题可能与我不同,但是有了输出信息就可以一步步的解决了。