Qt5.12.3移植到rk3399pro笔记
环境:
主机:Ubuntu16.04
目标机:rk3399pro板,x11平台
交叉编译toolchain:linux-aarch64-gnu-
问题描述
我的目标机是debian系统,带lxde桌面环境。所以的我qt程序依赖xcb平台插件。主机下载好Qt5.12.3源码,configure 的时候需要带上-xcb参数。之后出现feature xcb is enable but pre-condition feature.thread XXX failed 等问题。
可能是交叉编译只是是linuxfb的。尝试了各种方式在主机上各种configure不过。
解决
直接在目标机上编译源码,注意目标机要安装xcb的依赖库,参考链接: https://wiki.qt.io/Building_Qt_5_from_Git/.
安装依赖可能会出现 E: You must put some ‘source’ URIs in your sources.list 可以编辑/etc/apt/sources.list,添加 deb-src http://XXXX 具体地址可以用没有-src的。
之后再 configure、 make、 make install,然后配置下 /etc/profile的环境变量。
export LD_LIBRARY_PATH={你的qt安装目录}/lib:$LD_LIBRARY_PATH
export QT_QPA_PLATFORM_PLUGIN_PATH={你的qt安装目录}/plugins
补充
如果在目标机运行qt程序的时候出现 qt.qpa.plugins 什么xcb not found in ""或者xcb not load even find in之类的问题,先找xcb插件。
还要考虑板自带的xcb和Qt库的版本匹配问题