没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
配置编译qt-everywhere-src-5.12.7安装交叉编译链已配置好TSLIB编译注意事项配置编译qt源码执行脚本对于硬浮点设置相关参数配置QTCreator打开选项添加qmake添加已安装的arm版本交叉编译工具链最后组合下PS:对于强迫症需要安装rsync复制相关文件至开发板PC端的串口通讯工具成功移植到了ARM开发板上运行 安装交叉编译链 参考我的博客安装arm-linux-4.9.4交叉编译链 已配置好TSLIB 参考我的博客tslib编译教程 编译注意事项 注意使用的交叉编译工具链,带hf和不带hf的运行程序是由区别的,可能就无法运行程序(常见报错:no such file
资源详情
资源评论
资源推荐
![](https://csdnimg.cn/release/download_crawler_static/14074421/bg1.jpg)
Qt移植:移植:Ubuntu18.04 交叉编译交叉编译qt5.12.7详细教程配置编译详细教程配置编译qt-everywhere-src-5.12.7
配置编译配置编译qt-everywhere-src-5.12.7安装交叉编译链已配置好TSLIB编译注意事项配置编译qt源码执行脚本对于硬浮点设置相关参数配置QTCreator打开选项添加qmake添加已安装的
arm版本交叉编译工具链最后组合下PS:对于强迫症需要安装rsync复制相关文件至开发板PC端的串口通讯工具成功移植到了ARM开发板上运行
安装交叉编译链安装交叉编译链
参考我的博客安装arm-linux-4.9.4交叉编译链
已配置好已配置好TSLIB
参考我的博客tslib编译教程
编译注意事项编译注意事项
注意使用的交叉编译工具链,带hf和不带hf的运行程序是由区别的,可能就无法运行程序(常见报错:no such file or directory),最好与编译内核源码使用同一个工具链
arm-none-gnueabihf 和arm-linux-gnueabihf也是有区别的,带linux的是用于编译跑系统的app
在主机上善用readelf -h app_name 读取编译出的信息用来对比开发板app
编译选项GCC中-march、-mtune、-mcpu三个参数的设置
armv7-a与armv7区别
配置编译配置编译qt源码源码
本文默认采用的编译器为arm-linux-gnueabi-gcc 版本为4.9.4,软浮点
armv7是指令集,cortex-a8构架的都用armv7指令集度娘
这些编译选项最好对应硬件手册进行添加
配置选项参考
选项的约定:括号中的值,解释如下:
(以”-libpng… Select used libpng [system/qt/no]“为例)
1)“yes”不用明确指出(-libpng),括号中其他的值可以作为前缀,如”-qt-libpng”;
2)也可以用–libpng=qt的格式来表示
3)“auto”是”yes”和”no”的简写,代表[yes/no] 4)只出现”yes”或”no”,说明该选项不能自动检查,裁剪时要特别留意
复制以下脚本内容,保存为xxx.sh
xxx代表脚本名称,自己定义
#!/bin/sh
PLATFORM=linux-arm-qt
SCRIPT_PATH=`pwd`
#修改需要下载的源码前缀和后缀
OPENSRC_VER_PREFIX=5.12
OPENSRC_VER_SUFFIX=.7
#添加tslib交叉编译的动态库文件和头文件路径
TSLIB_LIB=/home/${USERNAME}/nfs/arm_tslib/lib/
TSLIB_INC=/home/${USERNAME}/nfs/arm_tslib/include/
#修改源码包解压后的名称
PACKAGE_NAME=qt-everywhere-src-5.12.7
#定义编译后安装--生成的文件,文件夹位置路径
INSTALL_PATH=/opt/QT_5.12.7_INSTALL
#添加交叉编译工具链路径 example:/home/aron566/opt/arm-2014.05/bin/arm-none-linux-gnueabi
CROSS_CHAIN_PREFIX=/usr/local/arm_4.9.4/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabi/bin/arm-linux-gnueabi
#定义压缩包名称
COMPRESS_PACKAGE=${PACKAGE_NAME}.tar.xz
#无需修改--自动组合下载地址
OPENSRC_VER=${OPENSRC_VER_PREFIX}${OPENSRC_VER_SUFFIX}
DOWNLOAD_LINK=http://download.qt.io/archive/qt/${OPENSRC_VER_PREFIX}/${OPENSRC_VER}/single/${COMPRESS_PACKAGE}
#无需修改--自动组合平台路径
CONFIG_PATH=${SCRIPT_PATH}/${PACKAGE_NAME}/qtbase/mkspecs/${PLATFORM}
#无需修改--自动组合配置平台路径文件
CONFIG_FILE=${CONFIG_PATH}/qmake.conf
#下载源码包
do_download_qt_every_src () {
if [ ! -f "${COMPRESS_PACKAGE}" ];then
if [ ! -d "${PACKAGE_NAME}" ];then
wget -c ${DOWNLOAD_LINK}
fi
fi
}
#解压源码包
do_tar_package () {
#if exist file then
if [ ! -d "${PACKAGE_NAME}" ];then
tar -xvf ${COMPRESS_PACKAGE}
fi
echo "[1;33m start open source file ...[0m"
cd ${PACKAGE_NAME}
}
#安装依赖项
do_install_config_dependent () {
sudo apt install qt3d5-dev-tools -y
sudo apt install qml-module-qtquick-xmllistmodel -y
sudo apt install qml-module-qtquick-virtualkeyboard qml-module-qtquick-shapes qml-module-qtquick-privatewidgets qml-module-qtquick-dialogs qml-module- qt-labs-calendar qml
-y
sudo apt install libqt53dquickscene2d5 libqt53dquickrender5 libqt53dquickinput5 libqt53dquickextras5 libqt53dquickanimation5 libqt53dquick5 -y
sudo apt install qtdeclarative5-dev qml-module-qtwebengine qml-module-qtwebchannel qml-module-qtmultimedia qml-module-qtaudioengine -y
}
#修改配置平台
do_config_before () {
if [ ! -d "${CONFIG_PATH}" ];then
cp -a ${SCRIPT_PATH}/${PACKAGE_NAME}/qtbase/mkspecs/linux-arm-gnueabi-g++ ${CONFIG_PATH}
fi
![](https://csdnimg.cn/release/download_crawler_static/14074421/bg2.jpg)
echo "#" > ${CONFIG_FILE}
echo "# qmake configuration for building with arm-linux-gnueabi-g++" >> ${CONFIG_FILE}
echo "#" >> ${CONFIG_FILE}
echo "" >> ${CONFIG_FILE}
echo "MAKEFILE_GENERATOR = UNIX" >> ${CONFIG_FILE}
echo "CONFIG += incremental" >> ${CONFIG_FILE}
echo "QMAKE_INCREMENTAL_STYLE = sublib" >> ${CONFIG_FILE}
echo "" >> ${CONFIG_FILE}
echo "#一下内容具体含义请查看官方文档,我的板子是beaglebone black,所以arch=armv7-a mtune=cortex-a8" >> ${CONFIG_FILE}
echo "QT_QPA_DEFAULT_PLATFORM = linuxfb:fb=/dev/fb0" >> ${CONFIG_FILE}
echo "QMAKE_CFLAGS += -msoft-float -D__GCC_FLOAT_NOT_NEEDED -march=armv7-a -mtune=cortex-a8" >> ${CONFIG_FILE}
echo "QMAKE_CXXFLAGS += -msoft-float -D__GCC_FLOAT_NOT_NEEDED -march=armv7-a -mtune=cortex-a8" >> ${CONFIG_FILE}
#使用带hf的gcc编译相关选项设置修改
#echo "QMAKE_CFLAGS += -mhard-float -march=armv7-a -mtune=cortex-a8" >> ${CONFIG_FILE}
#echo "QMAKE_CXXFLAGS += -mhard-float -march=armv7-a -mtune=cortex-a8" >> ${CONFIG_FILE}
echo "" >> ${CONFIG_FILE}
echo "include(../common/linux.conf)" >> ${CONFIG_FILE}
echo "include(../common/gcc-base-unix.conf)" >> ${CONFIG_FILE}
echo "include(../common/g++-unix.conf)" >> ${CONFIG_FILE}
echo "" >> ${CONFIG_FILE}
echo "#交叉编译工具链,自行修改成自己的,在命令行中输入#arm- 加tab键,打印出来的就是自己的工具链名字。后缀的-lts意思是加上ts库,也就是tslib库" >> ${CONFIG_FILE}
echo "# modifications to g++.conf" >> ${CONFIG_FILE}
echo "QMAKE_CC = ${CROSS_CHAIN_PREFIX}-gcc -lts" >> ${CONFIG_FILE}
echo "QMAKE_CXX = ${CROSS_CHAIN_PREFIX}-g++ -lts" >> ${CONFIG_FILE}
echo "QMAKE_LINK = ${CROSS_CHAIN_PREFIX}-g++ -lts" >> ${CONFIG_FILE}
echo "QMAKE_LINK_SHLIB = ${CROSS_CHAIN_PREFIX}-g++ -lts" >> ${CONFIG_FILE}
echo "" >> ${CONFIG_FILE}
echo "#同上" >> ${CONFIG_FILE}
echo "# modifications to linux.conf" >> ${CONFIG_FILE}
echo "QMAKE_AR = ${CROSS_CHAIN_PREFIX}-ar cqs" >> ${CONFIG_FILE}
echo "QMAKE_OBJCOPY = ${CROSS_CHAIN_PREFIX}-objcopy" >> ${CONFIG_FILE}
echo "QMAKE_NM = ${CROSS_CHAIN_PREFIX}-nm -P" >> ${CONFIG_FILE}
echo "QMAKE_STRIP = ${CROSS_CHAIN_PREFIX}-strip" >> ${CONFIG_FILE}
echo "load(qt_config)" >> ${CONFIG_FILE}
echo "" >> ${CONFIG_FILE}
echo "#这个位置就是编译tslib时的prefix位置,自己设置" >> ${CONFIG_FILE}
echo "QMAKE_INCDIR=${TSLIB_INC}" >> ${CONFIG_FILE}
echo "QMAKE_LIBDIR=${TSLIB_LIB}" >> ${CONFIG_FILE}
}
#配置选项
do_configure () {
./configure \
-prefix ${INSTALL_PATH} \
-xplatform ${PLATFORM} \
-release \
-opensource \
-confirm-license \
-make libs \
-optimized-qmake \
-pch \
-qt-libjpeg \
-qt-zlib \
#-gif \
#-ico \
#-qt-libpng \
#--gui=yes \
#-widgets \
#-icu \
#-eventfd \
#-inotify \
#-gtk \
#-qt-sql-sqlite \
#-qt-freetype \
#-qpa xcb \
#-imf \
#-libudev \
#-evdev \使能evdev:输入事件驱动
#-libinput \输入子设备库
#-mtdev \使能多点触控
#-xcb-xinput \
#-xkbcommon \
#-mirclient \
#-qt-xcb \
#-xcb-xlib \
-no-opengl \
-skip qt3d \
-skip qtcanvas3d \
-skip qtpurchasing \
-no-sse2 \
#-openssl-linked \
-no-openssl \
-no-cups \
#-dbus-linked \
-no-glib \
#-glib \
-no-iconv \
#-gnu-iconv \
-nomake examples \
-nomake tools \
-tslib \
-v \
-I${TSLIB_INC} \
-L${TSLIB_LIB}
}
#-skip qtvirtualkeyboard
#编译并且安装
do_make_install () {
make && make install
剩余10页未读,继续阅读
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![xz](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![torrent](https://img-home.csdnimg.cn/images/20210720083646.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![deb](https://img-home.csdnimg.cn/images/20210720083646.png)
![gz](https://img-home.csdnimg.cn/images/20210720083447.png)
![bz2](https://img-home.csdnimg.cn/images/20210720083646.png)
![bz2](https://img-home.csdnimg.cn/images/20210720083646.png)
![xz](https://img-home.csdnimg.cn/images/20210720083646.png)
![xz](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![gz](https://img-home.csdnimg.cn/images/20210720083447.png)
![iso](https://img-home.csdnimg.cn/images/20210720083646.png)
![bz2](https://img-home.csdnimg.cn/images/20210720083646.png)
![xz](https://img-home.csdnimg.cn/images/20210720083646.png)
![avatar](https://profile-avatar.csdnimg.cn/default.jpg!1)
weixin_38519763
- 粉丝: 5
- 资源: 922
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
- AI绘画工具介绍(文档)
- pandas-2.2.2-cp311-cp311-musllinux-1-1-aarch64.whl
- 小程序开发基础与简单示例.pdf
- matlab:读取图像+显示图像+显示图像的直方图+直方图均衡
- pandas-2.2.2-cp311-cp311-manylinux-2-17-x86-64.manylinux2014.whl
- 如何充分运用ansys的HELP
- pandas-2.2.2-cp311-cp311-musllinux-1-1-x86-64.whl
- C语言可变长数组(VLA)详解与应用
- android-studio-2024.1.1.12-windows-zip.zip.001
- 辰光PHP客服系统多商户全开源V3.1版+安装教程
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)
评论0