QT程序命令行编译:
1.使能交叉编译器环境变量:
source /opt/fsl-imx-x11/4.1.15-2.1.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi
2.对应QT项目位置执行qmake指令
3.对应QT项目位置执行make -j 8 指令(-j 8意思是编译时候分配8个内核cpu资源给此程序)
QT源码移1植:
1.解压
tar xf qt-everywhere-src-5.12.9.tar.xz
2.修改qmake.conf
vi qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf
3.修改qt根目录下autoconfigure.sh
vi autoconfigure.sh
4.执行autoconfigure.sh然后make及make install
./autoconfigure.sh
make -j 12
make install
5.压缩arm-qt文件然后移植解压到rooffs/usr/lib目录下
tar -jcf ./arm-qt.tar.bz2 arm-qt
tar xf arm-qt.tar.bz2 -C /home/test001/linux/nfs/rootfs/usr/lib
6.第三方虚拟键盘移植方法:参考git路径QVirtualKeyboard: Qt5虚拟键盘支持中英文,仿qt官方的virtualkeyboard模块,但使用QWidget实现。
a、编译pinyin,生成libqtpinyind.a,此时在上一级目录生成/lib/libqtpinyind.a
source /opt/fsl-imx-x11/4.1.15-2.1.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi
cd pinyin
qmake
make -j 8
b、编译qt5softkeyboard,生成/bin/libQt5SoftKeyboardd.so
source /opt/fsl-imx-x11/4.1.15-2.1.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi
cd qt5softkeyboard
qmake
make -j 8
c、把/bin/plugins/platforminputcontexts/libQt5SoftKeyboardd.so放到rooffs/usr/lib/arm-qt/plugins/platforminputcontexts目录下(或直接scp copy到正在运行的设备linux目录:/usr/lib/arm-qt/plugins/platforminputcontexts下
d、用于自己的项目时,在项目main.cpp的main函数中设置好环境变量。代码:qputenv("QT_IM_MODULE",QByteArray("Qt5Input"));