Qt/embedded 移植

sueiyuan_401 2010-05-13 02:30:41
大家有没有什么好的教程,书啊推荐的!本人菜鸟,找了好久没有一个系统的,自己写的程序要怎样在ARM板上跑呢,!
...全文
122 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
sueiyuan_401 2010-05-14
  • 打赏
  • 举报
回复
交叉编译环境我已经装好了 用的是arm-linux-gcc qt/embedded-4.5.1 x11 编译都没有问题 用qvfb也可在PC机上跑起来 只是把程序放在板子上面竟然不能识别时是可执行文件 对于编译好的文件怎样在板子上面跑我不是很明白 求指教
buyaozheyang 2010-05-14
  • 打赏
  • 举报
回复
呵呵,谢谢大牛
  • 打赏
  • 举报
回复
那肯定是你编译器设置有问题..我当时也有遇到过

其实主要要编译两种源码
PC一个,开发板一个

x86平台:这里用到的编译器是用系统的g++就ok,主要用于写代码和测试用的

arm平台:这里要用arm-linux-g++,这里生成的二进制文件才能在开发板上运行


建议LZ编译时,看看Makefile里面的编译工具

还有问题可以发站内,回答完毕

adam0720 2010-05-13
  • 打赏
  • 举报
回复
接下来要进行的Qt移植就是指对Qtopia Core的移植,我们的版本是Qtopia4.2.2,即对其库的移植。移植的步骤是这样的,首先在PC机上安装Qtopia4.2.2,然后把其中的库放入我们制作的根文件系统的/lib之中,最后设置环境变量。以下为详细内容:
2 下载Qtopia Core 4的源代码,建议到www.qtopia.org.cn下载, qtopia-core-opensource-src-4.2.2.tar.gz,解压
# tar zxvf qtopia-core-opensource-src-4.2.2.tar.gz
# cd qtopia-core-opensource-src-4.2.2
# ./configure -embedded arm -xplatform qws/linux-arm-g++ -depths 4,8,12,16 -no-qt3support
# gmake (这个过程最漫长...)
# gmake install (需root 权限)
设置Qt的环境变量,修改$HOME/.bash_profile 加入
# vi $HOME/.bash_profile
添加
PATH=/usr/local/Trolltech/QtopiaCore-4.2.2-arm/bin:/usr/local/Trolltech/Qt-4.2.2/bin:$PATH
后面的是Qt for X11的环境变量设置,执行使立即生效
# source $HOME/.bash_profile
# echo $PATH
# which qmake //可查看已经添加成功
3 把qtopia-core-opensource-src-4.2.2的库放入制作的根文件系统的/lib之中
安装好的Qtopia在目录/usr/local/Trolltech/QtopiaCore-4.2.2-arm下,进入其目录。可以看到/lib文件,其中包括一个fonts文件夹,里面是一些字体,内容很多也很占空间(72M左右),因为我们的目标板一般flash很小,64M左右,所以我们只选用很常用或者自己觉得好看的字体放入。
首先在/建立一个文件夹——Qtopia,里面存放入库和字体文件的fonts文件夹,
# cd /usr/local/Trolltech/QtopiaCore-4.2.2-arm
# mkdir Qtopia
然后把/lib下的文件复制到其中
# cp –arf /usr/local/Trolltech/QtopiaCore-4.2.2-arm/lib/* /usr/local/Trolltech/QtopiaCore-4.2.2-arm/Qtopia
删掉多余的字体文件
# cd /usr/local/Trolltech/QtopiaCore-4.2.2-arm/Qtopia/fonts
只留下cour.pfa 和 cursor.pfa
最后把Qtopia拷贝到刚刚我们做好的文件系统的/lib下面
# cp –arf /usr/local/Trolltech/QtopiaCore-4.2.2-arm/Qtopia /rootfs/lib
4 设置环境变量
在文件系统中,关键要设置环境变量,才能让Qt4的程序找到我们移植的Qt4的库,真正跑起来。设置环境变量可分两种,与PC机上一样,可以在命令行下设置,还有一种方法是在/etc/profile文件中设置,让开发板一启动就自动设置,添加命令如下:
PATH=/usr/bin:/usr/sbin:$PATH:./
export FRAMEBUFFER='/dev/fb/0'
export TSDATAFILE='/mnt/yaffs/minigui/tsdata.dat'
export LD_LIBRARY_PATH=/lib:/usr/lib:/usr/lib/Qtopia:$LD_LIBRARY_PATH
export QWS_DISPLAY="LinuxFb:mmWidth100:mmHeight130:0"
关键是LD_LIBRARY_PATH,这个设置让系统知道Qt的库的位置,即/usr/lib/Qtopia,还有一个关键是QWS_DISPLAY,因为我们在运行程序时,有一个参数是qws,例如:./analogclock –qws ,设置好QWS_DISPLAY后才能在显示屏上显示按我们要求比例大小的图像。
5 测试代码
进入/usr/local/Trolltech/QtopiaCore-4.2.2-arm/examples/tutorial/t1
# cd /usr/local/Trolltech/QtopiaCore-4.2.2-arm/examples/tutorial/t1
# qmake -project
# qmake
# make
生成二进制文件t1,通过适合的方式拷贝到板子中,执行 ./t1 –qws 可以显示 helloworld


adam0720 2010-05-13
  • 打赏
  • 举报
回复
Google 百度一把。

16,215

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧