linux系统中开发板上Qt移植步骤
RT。我现在有一块空的arm2410的开发板,我电脑上已经安装好vmware虚拟机跟redhat,如果我要做Qt实验,我需要做哪些东西,希望讲的详细些,新手,理解能力有点...
RT。我现在有一块空的arm2410的开发板,我电脑上已经安装好vmware虚拟机跟redhat,如果我要做Qt实验,我需要做哪些东西,希望讲的详细些,新手,理解能力有点差
我现在已经在虚拟机下安装了arm-linux-gcc,/etc/profile下的路径也设置了,但是这样每次重新开个终端都要重新source下,很麻烦,有没别的办法,设置一次路径就可以一直用的。
还有,我安装GCC的时候出现了问题,安装过程中出现下面的问题
you must set the environment variable CC to a working compiler,去网上查了办法,解决不了。。。头痛死了 展开
我现在已经在虚拟机下安装了arm-linux-gcc,/etc/profile下的路径也设置了,但是这样每次重新开个终端都要重新source下,很麻烦,有没别的办法,设置一次路径就可以一直用的。
还有,我安装GCC的时候出现了问题,安装过程中出现下面的问题
you must set the environment variable CC to a working compiler,去网上查了办法,解决不了。。。头痛死了 展开
4个回答
展开全部
一、准备
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校验触屏即可。
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校验触屏即可。
展开全部
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 基础吧。
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 基础吧。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2010-11-29
展开全部
一楼jb扯淡,你最好找个明白人问问,就算找到资料了 用的时候也是出错,我把QT写的程序弄到板子上跑起来,差点没把我累死,很多时候都是差一步但不知道怎么弄
你得把库全部编译出来,然后告诉开发板库的位置,基本就是这样
你得把库全部编译出来,然后告诉开发板库的位置,基本就是这样
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
步骤很多的,过程也比较麻烦的
简要的说
下载 qte 源码包
下载 arm 交叉编译器,并安装
配置 qt 编译前的 configure
make
把make 后的 qt 目标文件拷贝到目标板
修改 linux 启动脚本 rc.S 文件,添加启动 qt 的环境配置,及启动命令
这已经是最最简要的回答了,要详细的你多去 google 吧,并且你开发板应该有相应的源码包及资料的
在这个之前要先编译好 bootloader 及 linux kernel ,并用 busybox 制作一个根文件系统,否则你 qt 跑不起来的
简要的说
下载 qte 源码包
下载 arm 交叉编译器,并安装
配置 qt 编译前的 configure
make
把make 后的 qt 目标文件拷贝到目标板
修改 linux 启动脚本 rc.S 文件,添加启动 qt 的环境配置,及启动命令
这已经是最最简要的回答了,要详细的你多去 google 吧,并且你开发板应该有相应的源码包及资料的
在这个之前要先编译好 bootloader 及 linux kernel ,并用 busybox 制作一个根文件系统,否则你 qt 跑不起来的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |