qt交叉编译环境搭建方法

2024-06-13 04:09:02

(一)准备工作1、下载最新版本的Qt 4.7.2:http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-4.7.2.tar.gz2、安装交叉编译器4.3.3或其它版本

3、编译tslib-1.4.1.tar.bz2,这个东西是触摸屏库,编译QT4.7.2时要用到,先拷贝到一个目录,然后用tar xfvj tslib-1.4.1.tar.bz2进行解压缩,进入tslib-1.4.1这个目录,运行./build就可以编译了。编译完之后,会生成一个__install的文件夹,里面有两个文件夹,分别是:inclue 和lib,后面编译Qt的时候会用到。编译完之后,我把它更改名称为mytslib,并且拷贝到/opt/qt-4.7目录下。这样tslib库的绝对路径是:/opt/qt-4.7/mytslib/lib了,而tslib包含文件夹得绝对路径是:/opt/qt-4.7/mytslib/include(二)编译Qt 4.7.2qt-everywhere-opensource-src-4.7.2.tar.gz拷贝到/opt/qt-4.7里面。

用 tar zxvfqt-everywhere-opensource-src-4.7.2.tar.gz解压。

cd /opt/qt-4.7/qt-everywhere-opensource-src-4.7.2.tar.gz/目录。

然后新建一个配置shell文件。我建立一个叫config.sh的文件。然后,把

./configure -prefix /opt/EmbedSky/qt-4.7/qtlib –embedded arm -release -opensource -fast -no-accessibility -no-scripttools-no-mmx -no-multimedia  -no-svg -no-webkit -no-3dnow -no-sse -no-sse2 -silent -qt-libpng -qt-libjpeg -no-libmng -no-libtiff -no-multimedia -make libs -nomake tools -nomake examples -nomake docs -nomake demo -no-nis -no-cups -no-iconv -no-dbus -no-openssl -xplatform qws/linux-arm-g++ -little-endian -qt-freetype -depths 16,18 -qt-gfx-linuxfb -no-gfx-transformed -no-gfx-multiscreen -no-gfx-vnc -no-gfx-qvfb -qt-kbd-linuxinput -no-glib -qt-mouse-tslib -I /opt/EmbedSky/qt-4.7/mytslib/include  -L /opt/EmbedSky/qt-4.7/mytslib/lib

拷贝到config.sh件里面并保存。然后在/opt/EmbedSky/qt-4.7/ qt-everywhere-opensource-src-4.7.0-beta2下执行./config.sh。就可以进行Qt4.7 Beta II的裁剪了。上面的配置信息是可以根据需要进行修改的,详细配置信息可以参考http://www.qtcn.org/bbs/read.php?tid=19214执行上面脚本后,在/opt/EmbedSky/qt-4.7/目录下建立一个qtlib目录。用来存放编译后生成的库文件,-prefix /opt/EmbedSky/qt-4.7/qtlib这个参数的意思是把库文件拷贝到/opt/EmbedSky/qt-4.7/qtlib目录下。-I /opt/EmbedSky/qt-4.7/mytslib/include  -L /opt/EmbedSky/qt-4.7/mytslib/lib 一定要正确,就是第一大步编译的那个tslib,还记得吗?现在用上他了。然后执行命令make ,完毕后再执行make install。我的电脑编译过程要一个小时左右。那么在/opt/EmbedSky/qt-4.7/qtli 就生成了Qt 4.7 Beta II在arm上运行的库了。把它拷贝到文件系统就OK了。拷到哪里呢?这里可以参考天嵌的手册。不过这里还是说下吧。我用的是天嵌光盘自带的Qt 4.5 文件系统。例如我把文件系统解压到了/opt/EmbedSky/目录下。并且把文件系统文件夹的名称改为了root_nfs。那么进入/opt/EmbedSky/root_nfs/opt/qt-4.5/目录。然后rm lib –R删除lib目录,再rm plugins –R 删除plugins目录。把刚才qtlib文件夹里面的lib和plugins拷贝到qt-4.5目录下。

cp/opt/EmbedSky/qt-4.7/qtlib/lib  /opt/EmbedSky/root_nfs/opt/qt-4.7/

cp /opt/EmbedSky/qt-4.7/qtlib/plugins /opt/EmbedSky/root_nfs/opt/qt-4.7/。最后,把/opt/EmbedSky/root_nfs/opt下的qt-4.5更改名称为 qt-4.7,操作是:mv qt-4.5 qt-4.7。现在在更改一下文件系统/bin/下的qt4文件,更改如下:

#!/bin/shecho Start Qt-4.7 > /dev/tq2440_serial0export set TSLIB_TSDEVICE=/dev/event0export set TSLIB_CALIBFILE=/etc/pointercalexport set TSLIB_CONFFILE=/etc/ts.confexport set TSLIB_PLUGINDIR=/lib/tsexport set HOME=/rootexport set QTDIR=/opt/qt-4.7export set QPEDIR=/opt/qt-4.7export set QTDIR1=/sbinexport set QWS_DISPLAY="LinuxFB:/dev/fb0"export set QWS_DISPLAY="LinuxFB:mmWidth130:mmHeight100:0"export set QWS_KEYBOARD="TTY:/dev/tty1"export set QWS_MOUSE_PROTO="TSLIB:/dev/event0"export set QT_PLUGIN_PATH=$QTDIR/plugins/export set QT_QWS_FONTDIR=$QTDIR/lib/fonts/export set PATH=$QPEDIR/bin:$PATHexport set LD_LIBRARY_PATH=$QTDIR/lib:$QPEDIR/plugins/imageformats:$LD_LIBRARY_PATHif [ -f /etc/pointercal ]; then#ts_calibrate/qml/qml -qws# > /dev/null 2>/dev/nullelsets_calibrate/qml/qml -qws$QPEDIR/bin/calculator -qws# >/dev/null 2>/dev/nullfi下面这几行也可以用自己第一步编译的tslib,这里我偷懒,直接用文件系统里面的。哈哈export set TSLIB_TSDEVICE=/dev/event0export set TSLIB_CALIBFILE=/etc/pointercalexport set TSLIB_CONFFILE=/etc/ts.confexport set TSLIB_PLUGINDIR=/lib/ts(三)测试Qt 4.7 Beta II 是否可用怎么测试Qt 4.7 Beta II的编译已经成功了呢?Qt4.7有QML功能。写个打开QML的程序,然后在程序里面调用该QML就知道Qt4.7是否可用了。在附件里面有我的工程。可以拿去编译一下。把这个工程放到/opt/EmbedSky/root_nfs下编译。然后nfs加载。就可以运行QML工程了。我的工程很简单。就是调用一个HELLO WORLD qml脚本。更加炫的效果你去QT example里面的declarative文件夹里面找。

转载于:https://blog.51cto.com/prothesman/1411562

qt交叉编译环境搭建方法相关推荐

  1. iMX6 yocto平台QT交叉编译环境搭建

    1.安装ubuntu上必备的库文件: 如果无法安装请依次执行以下两个命令: apt-get upgrade apt-get update 再安装以上的库文件. 2.搭建JDK开发环境 下载jdk1.6 ...

  2. i.MX平台Qt交叉编译环境搭建

    主机环境:Ubuntu 12.04, 64位 . 交叉编译工具:Poky 1.5.3 交叉编译工具链及相关工具 1.安装交叉编译工具 将 poky 交叉编译工具压缩包解压到 /opt 目录. $ su ...

  3. XScale交叉编译环境搭建及MPlayer移植

    今天拿到一个博创PXA270A开发板,但是随机光盘挂掉了,新的光盘至少要等待下周,所以自己尝试搭建了一个交叉编译环境. 在google上找了一天,大部分的交叉编译环境搭建方法并不适用于此开发板.最后, ...

  4. 在Linux下搭建嵌入式Qt交叉编译环境[转载]

    Qt是嵌入式平台常用的GUI库,具有丰富的控件与开发资料.本文介绍如何在x86计算机上搭建ARM开发环境,并交叉编译ARM平台上运行的Demo. 准备 下载交叉编译器 下载Linaro公司推出的的ar ...

  5. qt工程在linux系统里颜色显示错误_【飞凌嵌入式RK3399开发板试用体验】+QT开发环境搭建测试(二)...

    作者:飞扬的青春 在拿到开发板之后,已经体验了Android操作系统,接下来就是体验Linux下的开发,本次以QT的一个小案例来测试下. 首先是自己先搭建了一个Ubuntu18.04的虚拟机,使用真机 ...

  6. Ubuntu16.04下arm-linux-gcc交叉编译环境搭建

    Ubuntu下arm-Linux-gcc交叉编译环境搭建 参考:http://blog.csdn.net/hebbely/article/details/53992805 1.网上下载 arm-lin ...

  7. suse linux下交叉编译,阐述SUSE 10.1交叉编译环境构建方法

    现在很多的人都在应用SUSE,伴随着的问题也随之出现,我学习SUSE也有很长时间了,也有些小的心得体会.在这里和大家分享一下,今天所要说的是SUSE 10.1交叉编译环境构建问题.crosstool制 ...

  8. ubuntu14.04安装arm-linux-gcc,Ubuntu14.04下arm-linux-gcc交叉编译环境搭建

    Ubuntu下arm-linux-gcc交叉编译环境搭建 系统:Ubuntu 14.04 32bit 1.网上下载arm-linux-gcc-4.4.3.tar.gz 2.解压 sudo tar -x ...

  9. 使用飞凌嵌入式IMX6UL-C1板子——qt+opencv环境搭建

    使用飞凌嵌入式IMX6UL-C1板子--qt+opencv环境搭建 准备工作: Ubuntu18.04虚拟机环境 飞凌官方提供的qt-tslib库,gcc交叉编译器,opencv源码库,qt源码,具体 ...

最新文章

  1. python入门(一)
  2. promise存在的意义分析resolve reject catch
  3. 删除android系统自带的第三方软件
  4. java executor spring_Spring+TaskExecutor实例
  5. MongoDB分布式(分片存储)部署
  6. python读取pcd点云/转numpy(python2+python3,非ROS环境)
  7. 地表最强mysql命令行连接工具mycli
  8. Java 8 (5) Stream 流 - 收集数据
  9. Diskgenius硬盘处理软件
  10. 通过计划任务使FlashFXP在晚上自动下载备份
  11. 商业云平台和开源云平台
  12. 逻辑谬误_Java性能的9个谬误
  13. html 网页地图集制作ECHARTS,pyecharts绘制地图(示例代码)
  14. 给儿子的一封信——大学才是人生真正的起点
  15. 如何获取腾讯视频的MP4播放地址及mp4文件,无需进行qlv转换mp4格式【亲测效果】
  16. 锂电池的充电电压和电流应该是多少
  17. ora-00257报错解决办法
  18. 还有波音737飞机在飞行吗
  19. bzoj4668: 冷战
  20. 医院计算机网络安全应急预案,医院信息系统应急预案

热门文章

  1. linux下mariadb大小写敏感
  2. 论文的写作要求、流程与写作技巧
  3. 魅族MX4的线控电路图
  4. Silverlight 2.5D RPG游戏技巧与特效处理:(十六)动态资源
  5. 程序异常异常代码: 0xc0000005_Java基础:看完这篇你还怕碰到异常吗?
  6. java图片识别查看器模拟_[转载]windows照片查看器无法显示图片内存不足
  7. 禁止访问Apache目录
  8. Swift5.1 语言参考(十) 语法汇总
  9. ActiveMQ在windows下启动失败解决方案
  10. 《算法导论》读书笔记--第1、2章课后题 (转)