静之云 发表于 2015-9-23 17:23:55

Borax 开发板QT的移植

本帖最后由 静之云 于 2015-9-23 17:23 编辑


硬件平台 :Borax 开发板(V2.0)
软件平台: Ubuntu 12.04 LTS
QT版本:4.8.5
版本 1.0
2015/04/24
一、 QT 文件的生成
1 下载gcc交叉编译器
Altera SOC Linux的交叉编译器为Linaro。为了方便QT更好的移植及glibc库版本的对应,我们使用与Borax文件系统相对应 gcc . 其版本为: (gcc-linaro-arm-linux-gnueabihf-4.7-2012.11-20121123_linux)!1.1.1下载gcc交叉编译器Altera SOC Linux的交叉编译器为Linaro。为了方便QT更好的移植及glibc库版本的
对应,我们使用与Borax文件系统相对应 gcc . 其版本为:
(gcc-linaro-arm-linux-gnueabihf-4.7-2012.11-20121123_linux)!

其官网地址如下:
https://launchpad.net/linaro-toolchain-binaries/trunk/
https://launchpad.net/linaro-toolchain-binaries/trunk/2012.11



对应的下载链接为:https://launchpad.net/linaro-toolchain-binaries/trunk/2012.11/+download/gcc-linaro-arm-linux-gnueabihf-4.7-2012.11-20121123_linux.tar.bz2
1.1.2设置环境变量(1)复制文件gcc-linaro-arm-linux-gnueabihf-4.7-2012.11-20121123_linux.tar.bz2到相应的目录。(2)cd到相应的目录,并使用 tar –jxvfgcc-linaro-arm-linux-gnueabihf-4.7-2012.11-20121123_linux.tar.bz2./ 安装编译器。(3)使用vim /etc/profile 修改环境变量
屏蔽其它版本的linaro 编译器,并加4.7版本的对应路径,并保存退出。如下图所示:(4)使用reboot命令使系统重启。
Note:如果不重启,即使使用source /etc/profile命令使配置生效,但是由于系统已开机,历史版本的Linaro环境设置还是依然存在的。(5)重启后使用 arm-linux-gnueahihf-gcc –v 可验证配置是否成功。

2 安装QT源码
(1)下载源码下载地址为: http://download.qt.io/archive/qt/4.8/4.8.5/ 选择qt-everywhere-opensource-src-4.8.5.tar.gz文件
(2)把源码文件复制到相应目录 使用tar –zxvf 命令解压文件。如下图所示:

3 修改qmake.conf 文件(1)   cd 到源码目录,使用 vim mkspecs/qws/linux-arm-gnueabi-g++/qmake.conf 命令编辑qmake.conf 文件。
(2)把所有的arm-none-linux-gnueabi编译器候改为arm-linux-gnueabihf如下图所示:
(3)按下Esc 进入命令模式使用:wq命令保存并退出。
4 编译配置COnfigureNote : 如若以前配置过,请先使用make confclean指令。 (1)   输入如下指令:
./configure-prefix /root/jack_jianwu/QT/Borax_QT/QT_MakeDemo_Test -release -shared-xplatform qws/linux-arm-gnueabi-g++ -embedded arm-little-endian-no-pch



3(2)    主要参数说明 :-prefix   /root/jack_jianwu/QT/Borax_QT/QT_MakeDemo_Test表示此配置最后生成的嵌入式版QT的安装目录。请根据自己的情况候改。 -xplatformqws/linux-arm-gnueabi-g++表示使用linux-arm-gnueabi-g++文件夹下的qmkae.conf文件里设置的交叉编译器进行编译。 -embedded arm 表示编译的目标平台为arm。 -shared 表示动态编译. Note: 关于指令的详细说明 请使用./configure --help 查阅。
(3)   输入“o” , “yes” 选择项。
执行./configure 命令成功后会出下如下信息:

5 Make 并Install
   当编译参数设置成功后,执行make命令。make成功后,继续执行make install 命令. 则arm 版本的QT会安装在 –prefix 设置的目录 /root/jack_jianwu/QT/Borax_QT/QT_MakeDemo_Test下。

二、移植QT到Borax开发板
1 打包源文件 为了解决直接复制文件夹在不同文件系统引起的符号链接问题,我们采用先打包在解压的方式。 (1)   使用 tar-zcf 命令打包文件,如下图所示使用的命令为:
tar –zcf QT_MakeDemo_Test.tar.gz   QT_MakeDemo_Test

(2)   使用chmod 777 命令改变其文档权限,如上图所示。
(3)   为了节省空间,也可只单独打包lib 文件夹和demos文件夹。
2 复制解压文件
使用U盘将打包好的文件复制到开发板中,使用tar-zxvf解压到相应目录。(1)   挂载U盘,参考命令如下: mount -t vfat /dev/sda1/media/ram (2)   复制文件到相应目录,参考命令如下: cd   /var/volatilecp-p/media/ram /QT_MakeDemo_Test.tar.gz/var/volatile (3)    解压文件 ,参考命令如下:
tar-zxvf QT_MakeDemo_Test.tar.gz./

3 设置QT环境变量
使用export 设置QT的环境变量。参考命令如下,请根据实际情况更改目录参数。 export LD_LIBRARY_PATH=/var/volatile/QT_MakeDemo_Test/lib export QT_QWS_FONTDIR=/var/volatile/QT_MakeDemo_Test/lib/fonts
4 运行DEMO程序 (1)设置好QT的环境变量之后,进入demos目录输入命令: ./affine/affine –qws
Demo的运行界面如下图所示:
(2) 输入命令 : ./textedit/textedit-qws 执行文本编辑器程序,打开文本文件,可修改其字体颜色及大小,如下图所示。

三、Hello Word 例程
1 编辑源文件
(1)在demos目录下建立新文件夹Helloword,参考命令如下: mkdir   Helloword    (2)进入HelloWord文件夹,新建hello.cpp文件。参考命令如下:                      cdHelloword               vim hello.cpp   (3)编辑Hello.cpp的源代码,保存并退出。参考代码如下: #include <QtGui>int main(int argc,char *argv[]){QApplication app(argc,argv);QLabel label(QString("welcome to cytechBorax Borad "));label.show();app.exec();
}

2 编译工程(1)   查看qmake 使用的版本。    输入命令 qmake –v可发现系统默认的qt 编译器是X86的。而我们要使用arm 嵌入式版本,因此编译时需要使用 ../../bin/qmake 指令。下图所示为使用arm 版编译器显示的版本信息。
         
(2)   使用arm 版本的qmake 创建工程,参考命令如下: ../../bin/qmake –project
如下图所示,成功创建后,工程目录下多了个helloword.pro 文件            

(3)   创建makefile 文件,命令如下:
            ../../bin/qmake


(4)   编译工程。 命令为make 。
      
3 移植程序复制程序和lib文件到Borax开发板 (如果Borax开发板已有lib 库则不必复制lib文件夹。)详细流程请参考第二章节。

4 运行程序
   设置好Borax开发板QT的环境变量并运行程序,效果如下图所示 。详细步骤请参考第三章节。
参考命令    helloword -qws



日期版本修订历史
2015年4月28日1.0Ÿ   文档第一版------------(Jack_Chen)
Ÿ   


tinoo_dong 发表于 2015-9-24 14:36:58

顶起!

静之云 发表于 2015-9-25 10:57:09

:):):)
页: [1]
查看完整版本: Borax 开发板QT的移植