百闻网对于Qt移植过程没有给出很详细系统的说明,导致我这个初学者花了很多时间移植。特此为有需要的人写这篇文章。人参考。下面的说明都是基于百文提供的环境(网上找的一般都是新环境搭建的)。一、使用repo获取内核和工具链等1、配置repo下载repo工具前,需要设置git邮箱和用户名。请根据个人情况配置git邮箱和用户名。book@100ask:~$gitconfig--globaluser.email"user@100ask.com"book@100ask:~$gitconfig--globaluser.name"100ask"注意:请先配置git邮箱地址和用户名,否则会导致下载失败(以下为参考示例图片)。2、下载源码,执行以下4条命令。为了方便复制,第三条命令很长,用\换行。你需要一起复制它:book@100ask:~$gitclonehttps://e.coding.net/codebug8/repo.gitbook@100ask:~$mkdir-p100ask_imx6ull-sdk&&cd100ask_imx6ull-sdkbook@100ask:~/100ask_imx6ull-sdk$../repo/repoinit-u\https://gitee.com/weidongshan/manifests.git-b\linux-sdk-mimx6ull/100ask_imx6ull_linux4.9.88_release.xml--no-repo-verifybook@100ask:~/100ask_imx6ull-sdk$../repo/reposync-j4注:是在book@100ask:~$目录下进行的操作2.配置交叉编译工具链1.设置交叉编译工具链Open配置文件vim~/.bashrc,在文件末尾添加如下命令exportARCH=armexportCROSS_COMPILE=arm-buildroot-linux-gnueabihf-exportPATH=$PATH:/home/book/100ask_imx6ull-sdk/ToolChain/arm-buildroot-linux-gnueabihf_sdk-buildroot/bin设置完成后,执行source~/.bashrc命令使其生效,该命令是为这些设置加载环境变量2.测试跨工具链测试环境变量:book@100ask:~$echo$ARCHarmbook@100ask:~$echo$CROSS_COMPILEarm-buildroot-linux-gnueabihf-test交叉编译器:book@100ask:~$arm-buildroot-linux-gnueabihf-gcc-v3.使用Buildroot构建根文件系统注意,找到/home/book/100ask_imx6ull-sdk/Buildroot_2020.02.x/output/host/bin目录下有qmake文件吗?如果是这样,你不需要做这一章1、源码编译搭建注意事项:搭建前需要将虚拟机内存设置为6GB或以上,否则会中途报错!!执行以下命令book@100ask:~/100ask_imx6ull-sdk$pwd/home/book/100ask_imx6ull-sdkbook@100ask:~/100ask_imx6ull-sdk$cdBuildroot_2020.02.xbook@100ask:~/100ask_imx6ull-sdk/Buildroot_2020.02.x$makecleanbook@100ask:~/100ask_imx6ull-sdk/Buildroot_2020.02.x$make100ask_imx6ull_pro_ddr512m_systemV_qt5_defconfigbook@100ask:~/100ask_imx6ull-sdk/Buildroot_2020.02.x$makeall5~6小时)文件需要从外网下载,外网下载速度很慢。编译完成后如下图所示:2.直接从网络下载获取源码的过程比较长,中间可能有错误,所以编译好的根文件系统为提供下载链接:https://pan.baidu.com/s/1toO-...提取码:n41d下载得到Buildroot_2020.02.x.tar包文件,然后执行以下命令book@100ask:~/100ask_imx6ull-sdk$pwd/home/book/100ask_imx6ull-sdkbook@100ask:~/100ask_imx6ull-sdk$rm-rfBuildroot_2020.02.xbook@100ask:~/100ask_imx6ull-sdk$tar–xvfBuildroot_2020.02.x.tar四、Qtcreator安装配置1、下载安装点击下载Qt5.12.8执行以下命令开始安装,图形化过程不再赘述book@100ask:~/Desktop$chmod777qt-opensource-linux-x64-5.12.8.runbook@100ask:~/Desktop$./qt-开源-linux-x64-5.12.8.run2。配置开发环境在QtCreator界面依次点击工具->选项:b.设置编译器,点击Compilers->Add->Custom->C/C++AddCompilerb.1关于C++Compiler,依次添加以下内容/home/book/100ask_imx6ull-sdk/ToolChain/gcc-linaro-6.2。1-2016.11-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++/usr/bin/makeb.2关于C编译器,依次填写以下内容/home/book/100ask_imx6ull-sdk/ToolChain/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc/usr/bin/makec。添加Qt版本,依次点击QtVersions->添加,填写以下内容d.Kits设置,依次点击Kits->Add,填写如下内容/home/book/100ask_imx6ull-sdk/ToolChain/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bine。单击“确定”完成配置。五、tslib编译配置1.源文件下载01_all_series_quickstart\04_嵌入式Linux应用开发基础知识\source\11_input\02_tslib\2.交叉编译book@100ask:~$pwd/home/bookbook@100ask:~$ls100ask_imx6ull-sdk下载nfs_rootfsrepotslib-1.21.tar.xzDesktopexamples.desktopPicturessnapVideosDocuments音乐公共模板book@100ask:~$tarxvftslib-1.21.tar.xzbook@100ask:~$cdtslib-1.21/book@100ask:~/tslib-1.21$./configure--host=arm-linux-gnueabihf--prefix=/book@100ask:~/tslib-1.21$makebook@100ask:~/tslib-1.21$makeinstallDESTDIR=$PWD/tmp3。将头文件和库文件拷贝到工具链目录下book@100ask:~/tslib-1.21$cdtmp/book@100ask:~/tslib-1.21tmp/$cpinclude/*/home/book/100ask_imx6ull-sdk/ToolChain/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin/../arm-linux-gnueabihf/libc/usr/includebook@100ask:~/tslib-1.21tmp/$cp-dlib/*所以*/home/book/100ask_imx6ull-sdk/ToolChain/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin/../arm-linux-gnueabihf/libc/usr/lib/4。复制依赖文件到开发板book@100ask:~$pwd/home/bookbook@100ask:~$cp-rtslib-1.21nfs_rootfs/book@100ask:~$cdnfs_rootfs/book@100ask:~/nfs_rootfs$lstslib-1.21注:以下命令均在开发板命令行完成(还要保证开发板的网络文件系统挂载)cp/mnt/tslib-1.21/tmp/lib/*so*-d/libcp/mnt/tslib-1.21/tmp/bin/*/bincp/mnt/tslib-1.21/tmp/etc/ts.conf-d/etc5.修改开发板环境变量打开sudovi/etc/profile文件,在末尾添加:exportXDG_RUNTIME_DIR=/usr/lib/exportRUNLEVEL=3exportQT_QPA_FB_DISABLE_INPUT=1exportQT_QPA_GENERIC_PLUGINS=tslibexportQT_QPA_FONTDIR=/usr/lib/fontsexportTSLIB_TSDEVICE=/dev/input/event1exportTSLIB_CONFFILE=/etc/ts.confexportTSLIB_CALIBFILE=/etc/pointercalexportTSLIB_PLUGINDIR=/usr/lib/tsexportTSLIB_CONSOLEDEVICE=noneexportQT_QPA_FB_TSLIB=1exportQT_QPA_GENERIC_PLUGINS:theSix/devin1PLUGINS=t最终测试1.关闭默认的GUI程序。对于IMX6ULL,后续测试前需要先关闭默认的qtgui程序。关闭命令如下:[root@100ask:~]#mv/root/S99myirhmi2/etc/init.d/[root@100ask:~]#reboot2。Ubutun下编译Qt程序时注意选择Kit工具3.开发板的显示和触摸都正常,但是用于demo的源文件在运行复杂页面时明显滞后
