导航:首页 > 源码编译 > qt在arm上编译过程

qt在arm上编译过程

发布时间:2024-04-20 21:32:22

A. 如何编译ARM版本linux QT4.5

编译安装内核 下载并解压内核 解压内核:tar xf linux-2.6.XX.tar.xz 定制内核:make menuconfig 参见makefile menuconfig过程讲解 编译内核和模块:make 生成内核模块和vmlinuz,initrd.img,Symtem.map文件 安装内核和模块:sudo make moles_install install 复制模块文件到/lib/moles目录下、复制config,vmlinuz,initrd.img,Symtem.map文件到/boot目录、更新grub 其他命令: make mrprobe:命令的作用是在每次配置并重新编译内核前需要先执行“make mrproper”命令清理源代码树,包括过去曾经配置的内核配置文件“.config”都将被清除。即进行新的编译工作时将原来老的配置文件给删除到,以免影响新的内核编译。 make dep:生成内核功能间的依赖关系,为编译内核做好准备。 几个重要的Linux内核文件介绍 config 使用make menuconfig 生成的内核配置文件,决定将内核的各个功能系统编译进内核还是编译为模块还是不编译。 vmlinuz 和 vmlinux vmlinuz是可引导的、压缩的内核,“vm”代表“Virtual Memory”。Linux 支持虚拟内存,不像老的操作系统比如DOS有640KB内存的限制,Linux能够使用硬盘空间作为虚拟内存,因此得名“vm”。

B. QT4如何移植到ARM-LINUX目标板

一、准备
busybox 1.14.1
qt-embedded-linux-opensource-src-4.5.1
tslib 1.4
gcc version 4.3.2 (Sourcery G++ Lite 2008q3-72)
构建一个新的根文件系统目录,路径为
/root/rootfs

二、具体步骤:

1、编译安装busybox
在官网下载最新版。可以参考如下几处要修改的地方:
Busybox Settings ---> Build Options ---> (arm-linux-)Cross Compiler prefix
Busybox Settings ---> Installation Options --->[]Dont't use /usr
Busybox Settings ---> Installation Options --->(/root/rootfs) BusyBox installation prefix
Busybox Settings --->Busybox Library Tuning --->[*] Fancy Shell prompts
输入如下命令,编译并安装。
# make;make install

2、编译安装tslib
# ./autogen.sh
# ./configure -prefix=/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/usr/ -host=arm-linux ac_cv_func_malloc_0_nonnull=yes
# make;make install

安装目录指明为 /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/usr/
主要是为了在编译QTE时,不用指定tslib的头文件和库文件,方便以后程序开发。

注意:在做这一步前,需要做一个目录链接
在/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/usr/目录下
# ln -s ../../usr/include ./

3、编译安装QTE
1)、最基本的配置
# ./configure -prefix /usr -embedded arm -xplatform qws/linux-arm-g++ -depths 16 -qt-mouse-tslib
-prefix /usr 使用这个配置,编译后的QTE库文件即可放在目标文件系统的/usr/lib下,而不是默认/usr/local/Trolltech/QtEmbedded-4.5.1 这个很深的目录
2)、编译
# make
# cp lib/* /root/rootfs/usr/lib -rd 将QTE库文件拷贝到根文件系统的目录
# cp plugins /root/rootfs/usr -rd 将QTE插件目录拷贝到根文件系统的目录

4、根文件系统的设置
1)、这时/root/rootfs/usr下应该有 bin etc include lib sbin目录
tslib生成的etc目录,包含一个tslib的配置文件 nf,编辑此文件,去掉mole_raw input前的注释
# mv etc ../ 移动到rootfs的根目录

2)、进行一次清理操作
#arm-linux-strip lib/*.so
#arm-linux-strip usr/lib/*.so

3)、编辑etc/profile,添加以下内容
export QWS_MOUSE_PROTO=Tslib:/dev/event0
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_TSDEVICE=/dev/event0
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_CONFFILE=/etc/nf
export TSLIB_PLUGINDIR=/usr/lib/ts

最后,通过mkyaffs2image 制作镜像,烧写镜像,启动ts_calibrate校验触屏即可。

C. Linux系统上用QT编写ARM9继电器控制程序的问题。 想写个QT界面程序到arm板子上,通过界面的按钮来控制继电

以下是单片机实践团为您解答:
1)既然你已经在windows下面搞qt了,转到linux下面就没啥编程问题了,都一样的只是环境搭建有一点点不一样。
2)windows下面直接用的qtsdk for windows的吧,其实是人家直接给你做好的环境,建议自己用everywhelesource自己编译了解整个框架的结构,搞清楚windows下面如何显示的问题就差不多清楚了。
3)啰嗦的说,windows下面你虽然能够编译你的代码看到运行界面,不过我猜你没有深入了解这个框架不是mfc他如何调用windows的显示的,其实在linux下面道理也是一样的。
4)下面说说要怎么弄,主要是环境搭建,用你板子的交叉编译器编译qt源码就是那个everywhelesource了,这个主要要搞清楚那个configure,进入目录运行他生成makefile,记得configure后面要带参数,很多的比如你的交叉编译器。你可以用--help来看这些参数的详细说明。这些你要找点专业的文章来看看,英文好点可以直接上官方网站看的,很详细。
5)编译好这个之后其实你就可以直接把windows下面的代码拿来再次编译就行了,不过有一点你控制继电器的话还要你板子的gpio驱动,也就是控制引脚的,一般板子的驱动都有的。
6)如果你要仿真的话还要编译x11版本的qt,这个主要是要得到那个虚拟显存,用于调试用的,不用直接搞到板子上看效果,这个是x86版本提供的快捷方式,一般都用的,嗯很多的,看一些文章吧,毕竟我只能给你说个大纲盖的。
7)再说个你这就零分,不然给你多说点,看着烦。不明白在hi我吧。

阅读全文

与qt在arm上编译过程相关的资料

热点内容
一日一画pdf 浏览:95
编程猫拔萝卜文字评价模板 浏览:248
cmdjava命令 浏览:237
扫描版pdf转文字版 浏览:534
单片机专用寄存器 浏览:497
学习python的手册 浏览:676
vue编译成js文件 浏览:90
给单片机供电的电池 浏览:341
什么app是分享教育的 浏览:899
可视化编程java 浏览:83
人工智能温控器算法 浏览:377
大号文件夹多少钱一个 浏览:573
pdf阅读器打开文件 浏览:99
winrar解压日文文件 浏览:39
什么app可以看广东珠江电视台 浏览:76
linux移动文件位置 浏览:145
循环码与卷积码编译原理 浏览:808
进化算法和启发式算法的区别 浏览:603
android组件是什么 浏览:974
安卓手机微信怎么同步信息 浏览:183