QT程序移植到开发板并运行 解决方案
创始人
2024-07-31 19:30:23
0

本文介绍的是QT程序怎么移植到开发板并运行,对于移植这个问题,本人也在学习的过程中,所以找到一篇好文章与大家分享一下。废话不多说,看内容吧。

需要的条件:

1.上位机编译好的可执行文件,以hello为例

在虚拟机的ubuntu下,写好代码之后,定位到当前目录,执行命令

  1. qmake -project //生成工程文件.pro  
  2. qmake              //生成makefile  
  3. make                //生成可执行文件hello 

注意这些命令是在arm版的qt环境下的编译命令!执行qmake -v可查看其是否是arm版本,使用的是否是arm的库!执行file hello 可以查看hello是否是arm下运行的程序!

2.移植好QT库的开发板

刚开始学,只需要移植最基本的几个库就行了!触摸屏的、鼠标的、键盘的以后再说!分别是:libQtGui.so libQtCore.so libQtNetwork.so 以及fonts下的字库

为了防止错误,我一并把他们的相关链接文件so.4、 so.4.7、 so.4.7.2 都移植过去了!

移植方法你可以使用nfs !U盘!我用nfs速度太慢,非常不方便,索性用U盘拷过去了!因为这几个库小的不到1M,大的13M,U盘拷的还是很快的!比较让我费劲的是虚拟机不支持把链接文件拖拽到xp环境下!我只要在虚拟机里用邮件发到我的邮箱里,再在xp环境下把这些东西下下来,再通过U盘拷贝!曲折啊。。。我的虚拟机U盘不识别!

移植的几种方法看这篇文章:http://blog.csdn.net/fengchao_2009/archive/2011/05/14/6419928.aspx

(1)从哪儿移植呢?

从你虚拟机里编译安装arm版的QT库里面拷!..arm/lib下

(2)移植过去放在哪儿呢?

最好是跟你在虚拟机里面的arm版QT所在目录一样,方便操作!看我的

分别在开发板下新建目录:

  1. home/fengchao/qtenv/arm/lib  
  2. home/fengchao/qtenv/arm/bin  
  3. home/fengchao/qtenv/arm/lib/fonts 

把那些.so文件放到lib里面,把字库放到fonts里面!

3.最重要的一步,设置环境变量!

在开发板的根目录下执行:

  1. vi /etc/profile 

然后输入

  1. export QTDIR=/home/fengchao/qtenv/arm  
  2. export PATH=$QTDIR/bin:$PATH  
  3. export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH 

保存退出! ok !

vi使用:打开文件之后,输入i,进入编辑模式,再按ESC退出编辑模式进入命令模式,输入:键入命令wq即保存退出,q退出

4.然后把你编译好的hello这个可执行文件放到你的开发板上,随便哪儿吧

  1. ./hello -qws 

然后你就可以看见开发板上有显示了!但是可能文字较小,如果有中文可能还是乱码,没事,咱一步步往下来。。。

5.错误分析

(1)提示没有链接到字库

  1. QFontDatabase: Cannot find font directory /home/fengchao/qtenv/arm/lib/fonts - is Qt installed correctly? 

这个就是你没装好字库,好好检查一下,修改过来!

(2)提示没有QtGui.so no such file of directory

也是因为你没有移植好这个库或者跟他链接的文件,再或者环境变量有误!

【编辑推荐】

新手须知 QT类大全

Qt环境变量配置与安装

在Linux中设置Qt环境变量

从新手到老手之Qt学习历程

QT中关于信号与槽机制的实现原理

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...