QT程序移植到开发板并运行 解决方案

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

本文介绍的是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中关于信号与槽机制的实现原理

责任编辑:zhaolei 来源: 互联网
相关推荐

2021-12-16 15:14:54

鸿蒙HarmonyOS应用

2010-07-26 10:56:32

J2ME平台

2022-01-07 21:11:27

鸿蒙HarmonyOS应用

2020-12-07 12:34:33

开发板鸿蒙hello world

2017-09-17 12:21:52

移植Linux系统sqlite3

2020-11-24 11:41:30

websocket

2020-12-29 09:59:01

鸿蒙HarmonyOS智能家居

2020-12-16 10:05:48

鸿蒙开发板Onenet平台

2021-12-29 16:11:11

鸿蒙HarmonyOS应用

2010-05-28 19:25:11

MySQL移植问题

2013-04-02 09:25:20

PaaS 应用可移植性PaaS提供商平台即服务

2022-09-01 08:42:15

C#Winformnative

2020-11-03 09:53:04

体验官方固件程序

2017-05-14 16:02:45

前端开发标签嵌套

2020-10-20 09:32:43

HiSparkWi-FiIoT

2022-04-01 15:54:01

DHCP网络协议开发板

2022-10-14 15:55:24

环境搭建鸿蒙

2022-02-24 16:39:41

OpenHarmonNiobe开发鸿蒙

2011-06-13 11:07:22

QT 移植
点赞
收藏

51CTO技术栈公众号