中易网

linux系统中开发板上Qt移植步骤

答案:4  悬赏:0  
解决时间 2021-01-30 01:49
linux系统中开发板上Qt移植步骤
最佳答案
一、准备
  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,编辑此文件,去掉module_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校验触屏即可。
全部回答
步骤很多的,过程也比较麻烦的
简要的说
下载 qte 源码包
下载 arm 交叉编译器,并安装
配置 qt 编译前的 configure
make
把make 后的 qt 目标文件拷贝到目标板
修改 linux 启动脚本 rc.S 文件,添加启动 qt 的环境配置,及启动命令
这已经是最最简要的回答了,要详细的你多去 google 吧,并且你开发板应该有相应的源码包及资料的
在这个之前要先编译好 bootloader 及 linux kernel ,并用 busybox 制作一个根文件系统,否则你 qt 跑不起来的
一楼jb扯淡,你最好找个明白人问问,就算找到资料了 用的时候也是出错,我把QT写的程序弄到板子上跑起来,差点没把我累死,很多时候都是差一步但不知道怎么弄
你得把库全部编译出来,然后告诉开发板库的位置,基本就是这样
1、板子上能启动linux
2、正确编译qt需要的环境到板子上
3、正确编译qt到板子上
4、启动qt
具体还要看你怎么去实现qt。反正我只用xorg跑过图形界面。具体qt嵌入式怎么实现就不知道了。
从你的提问内容来看,我觉得你可能连linux都不会用吧……知道linux系统的构成不?
----------------------
原来又是一个完全不会用 Linux 就跑来要开发的人……很无语。
arm-linux-gcc 可以吧 source 命令写入你作为嵌入式开发的 ID 的 ~/.bashrc 里,如果这个系统就是专门用来开发的,可以添加到 /etc/profile 。不过注意 /etc/profile 改出问题就会启动失败。
gcc 这几话说的很明白,你需要一个 CC 的可以运行的编译器。这是一个先有鸡还是先有蛋的问题。
你拿着 GCC 源代码,从源代码安装 GCC 当然需要先用一个 CC 编译器编译 GCC 的源代码才能编译出能编译程序的 GCC 了。
去学习 Linux 基础吧。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
中国石油大学(北京)的研究生计算机科学与技
江苏2017会考大约考什么生物地理
中国旅游用地性质是什么 哪些可用于旅游房产
请问天平座的时间
棕榈怎么读?是什么植物?这种植物有什么用?
纹身图案流水怎么办
洋口东昌支路路口对面长途汽车站在哪
比亚迪s7内饰颜色有几种白度一下
小李白是杜牧,那小杜甫是谁?
求:文学名著中的农民形象 急!
东方苍神缘起 操作修改
禹州市颍河水污染很严重为什么没人查!
小霸王掌机4000坏了开不开机怎么修
苹果笔记本自带的股票软件是什么软件
日常所说的“引吭高歌”和“低声细语”里的高
推荐资讯
为什么奇书网上下载的电子书都是乱码
懒人推磨是什么意思
每天只吃4个土豆,3个鸡蛋,一个大萝卜,草晚两
prosecut和prosecute,一个e为何意义差距大?
一个女生自己去网吧会不会很尴尬,家里断网好
小鸟拉屎在脖子后边会不会不吉利
XX丶XXX或XXX丶XX格式的名字
位置的置可以组什么词呢
ps3的gta5账号可以在pc用吗
有没有人猜猜这次魔神柱是哪根
大型货车更换电瓶可以只换一个吗?
服装厂进的布做衣服之前要处理吗?还是直接就
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?