移植QT到arm平台

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/IOT_SHUN/article/details/71606241

源码包(300-500M)--编译成库文件(后期编译成员时候直接链接库文件,运行程序的时候也链接库文件) ---pc版库文件, arm版库文件(交叉编译Qt源码)

1.准备工作
a) 1.交叉编译好的Qt库(放在linux虚拟机上的armqt5.5-gec.all.fonts.tar.bz2
b) 2.裁剪编译好的Qt库(放在开发板armqt5.5.tar.bz2
c) 3.运行使用的依赖库(字体,触摸,总线库dbus)(armlib-all.tar.bz2
d) 4.开发板上使用的配置文件(profile
e) 5.字库文件(fonts.tar.bz2
f) 6.交叉编译工具(arm-linux-gnueabi-4.5.1.tar.bz2
2.搭建pc交叉Qt程序环境(linux虚拟机
1.安装交叉编译工具(就把arm-linux-gnueabi-4.5.1.tar.bz2解压/opt目录,配置环境变量)
a) /opt# tar -jxf arm-linux-gnueabi-4.5.1.tar.bz2
b) /opt# mv usr/local/arm/4.5.1/ ./
c) export PATH=/opt/4.5.1/bin:$PATH语句添加到/etc/bash.bashrc文件最后面重新打开终端
2.安装交叉编译好的Qt库(就把armqt5.5-gec.all.fonts.tar.bz2解压在/opt目录必须
3.交叉编译Qt程序
a) 进入已经写好的Qt项目代码目录
i. loginwin.cpp  LoginWin.pro       loginwin.ui
ii. loginwin.h    LoginWin.pro.user  main.cpp
iii. gec@ubuntu:/mnt/hgfs/Qt/002/code/LoginWin$
b) 在执行/opt/armqt5.5-gec/bin/qmake --会生成交叉编译的Makefile文件(为了后期方便可以制作一个别名alias armqmake='/opt/armqt5.5-gec/bin/qmake'放在/etc/bash.bashrc文件最后面,后面使用就直接用armqmake
c) 执行make ---会生成arm版的Qt程序 (把Qt程序下载到开发板)
 
3.搭建arm开发板运行环境(下面所有操作是在开发板上
a) 1.开发板Qt环境删除 进入/opt/目录下 删除所有文件
b) 2.把裁剪编译好的Qt库下载到开发板并且解压到/opt目录下 (tftp下载)解压后修改名字mv armqt5.5 armqt5.5-gec
c) 3.下载依赖库armlib-all.tar.bz2放在/home/tiydy目录下(如果没有tiydy目录就创建一个)
d) 4.下载profile文件到/etc/目录下
e) 5.下载字库文件fonts.tar.bz2/usr/share目录下并且解压
 
在运行qt程序
在开发板运行程序出现下面错误
from:tiydy-2015-10-16
process 146: D-Bus library appears to be incorrectly set up;
failed to read machine uuid: Failed to open "/etc/machine-id": No such file or directory
See the manual page for dbus-uuidgen to correct this issue.
  D-Bus not built with -rdynamic so unable to print a backtrace
Aborted
添加dbus---库在armlib.tar.bz2下面的lib里面
解压后,把lib中的库拷贝到开发板lib
bin下的文件拷贝到开发板bin目录
在开发板运行 dbus-uuidgen >  /etc/machine-id   (重定向创建文件)
展开阅读全文

没有更多推荐了,返回首页