Bootstrap

imx6ull编译qt遇到的问题

问题场景:

移植QT发现  libQt5Widgets.so.5 找不到,但是去/usr/lib又能找到,于是怀疑是export的环境问题。


问题描述

error while loading shared libraries: libQt5Widgets.so.5: cannot open shared object file: No such file or directory



原因分析:

qt库环境变量设置错误


解决方案:

export QT_ROOT=/usr/lib/arm-qt

export QT_QPA_GENERIC_PLUGINS=tslib:/dev/input/event1

export QT_QPA_FONTDIR=/usr/share/fonts

export QT_QPA_PLATFORM_PLUGIN_PATH=$QT_ROOT/plugins

export QT_QPA_PLATFORM=linuxfb:tty=/dev/fb0

export QT_PLUGIN_PATH=$QT_ROOT/plugins

export LD_LIBRARY_PATH=$QT_ROOT/lib:$QT_ROOT/plugins/platforms

export QML2_IMPORT_PATH=$QT_ROOT/qml

export QT_QPA_FB_TSLIB=1

把以上的部分加入环境变量/etc/profile中并保存。

vim ~/.bashrc 
末尾写入
alias qmake_qt='自己qt源码的路径/qt-everywhere-src-5.12.9/arm-qt/bin/qmake'
source ~/.bashrc
生效
每次编译qt前都输入 qmake_qt 即可生成Makefile
最后编译make -j2即可

注:如果采用cmd编译qt,注意交叉编译环境qt-everywhere-src-5.12.9/arm-qt/bin/qmake(推荐alias生成方便的全局cmd)生成Makefile,然后再make,最后file查看是否是arm平台文件。

;