LinuxQT开发平台的安装和交叉编译移植

1.安装arm-none-linux-gcc交叉编译器

(1)打开虚拟机,拖动arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2文件到虚拟机里面,右键解压到桌面或者打开终端输入解压命令“tar zvxf 压缩包全名”解压,输入 sudo su 切换为超级用户后,通过输入cp -r arm-2014.05 /opt,把解压文件移动到opt/arm-2014.05/目录下,该目录的bin目录下有很多工具,其中就有arm-none-linux-gcc,想要在任何目录下使用这个工具,就得对环境变量进行配置,具体配置方法如下:

修改/etc/profile文件:

# vim /etc/profile

增加路径设置,在末尾添加如下,保存/etc/profile文件:

export PATH=$PATH:/opt/arm-2014.05/bin

蓝色部分是你的工具路径,根据各人的情况而定。

接下让修改的环境变量生效而不用重启就的输入以下命令

$ source /etc/profile

检查是否将路径加入到PATH:

   # echo $PATH

Linux下QT开发平台的安装和交叉编译移植

显示的内容中有/usr/local/FriendlyARM/toolschain/4.4.3/bin,说明已经将交叉编译器的路径加入PATH。至此,交叉编译环境安装完成。

测试是否安装成功

# arm-none-linux-gcc -v

出来版本信息代表成功

Linux下QT开发平台的安装和交叉编译移植

 (!!注意:如果是64位系统,编译文件时提示出错: No such file object file,输入以下命令:sudo apt-get install lib32stdc++6安装32位的包即可)

2.安装Qt

把Qt的安装文件qt-opensource-linux-x64-5.9.3.run拖到虚拟机的桌面,*.run文件是可以直接在虚拟机中双击安装运行的,双击运行,弹出对话框点击Next。

Linux下QT开发平台的安装和交叉编译移植      Linux下QT开发平台的安装和交叉编译移植

也可以注册个QT账户,我直接跳过了,后面的安装都是选择路径一直下一步就完成了,完成后的界面如下:

Linux下QT开发平台的安装和交叉编译移植

这个是Qt Creator,包含了Qt库文件,拥有更加人性化的界面,桌面上没有图标,在电脑上的左下角点击搜索按钮Linux下QT开发平台的安装和交叉编译移植输入一个Q就可以出来。

 

 

 

 

 

 

 

3.交叉编译QT源码

下载好了qt-everywhere-opensource-src-5.7.0.tar.gz拖到虚拟机中的/home/pier/now下,输入tar -vxf qt-everywhere-opensource-src-5.7.0.tar.gz解压Qt源码的压缩包文件,然后输入cd qt-everywhere-opensource-src-5.7.0进入该文件夹目录,修改交叉编译架构用到的信息:

输入  gedit qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf

出来如下的文本信息,修改下方的红色部分文件路径为自己的对应工具路径,并且增加蓝色的代码三行在下方的位置中,其中的o2是字母o而不是数字0

 

#

# qmake configuration for building with arm-linux-gnueabi-g++

#

 

MAKEFILE_GENERATOR      = UNIX

CONFIG                 += incremental

QMAKE_INCREMENTAL_STYLE = sublib

 

QT_QPA_DEFAULT_PLATFORM = linux #eglfs

QMAKE_CFLAGS_RELEASE += -o2 -march=armv7-a

QMAKE_CXXFLAGS_RELEASE += -o2 -march=armv7-a

 

include(../common/linux.conf)

include(../common/gcc-base-unix.conf)

include(../common/g++-unix.conf)

 

# modifications to g++.conf

QMAKE_CC                = arm-none-linux-gnueabi-gcc

QMAKE_CXX               = arm-none-linux-gnueabi-g++

QMAKE_LINK              = arm-none-linux-gnueabi-g++

QMAKE_LINK_SHLIB        = arm-none-linux-gnueabi-g++

 

# modifications to linux.conf

QMAKE_AR                = arm-none-linux-gnueabi-ar cqs

QMAKE_OBJCOPY           = arm-none-linux-gnueabi-objcopy

QMAKE_NM                = arm-none-linux-gnueabi-nm -P

QMAKE_STRIP             = arm-none-linux-gnueabi-strip

load(qt_config)

可参考电脑修改后的截图如下:

Linux下QT开发平台的安装和交叉编译移植

创建一个脚本文件,用于生成Makefile,执行命令

gedit autoConfigure.sh

内容如下:

#!/bin/sh

./configure \

-v \

-prefix /opt/qt-570 \

-release \

-opensource \

-no-accessibility \

-make libs \

-xplatform linux-arm-gnueabi-g++ \

-optimized-qmake \

-pch \

-qt-sql-sqlite \

-qt-zlib \

-tslib \

-no-opengl \

-no-sse2 \

-no-openssl \

-no-nis \

-no-cups \

-no-glib \

-no-pkg-config \

-no-separate-debug-info \

-I/home/pier/yun/tslib/include -L/home/pier/yun/tslib/lib

红色部分是需要修改的地方,前一个是你想交叉编译到哪个文件夹下,后一个是需要填写你交叉编译的tslib文件夹路径,翻看之前的tslib脚本命令,知道是/opt/qt-570。

执行命令:

chmod 777 autoConfigure.sh

./autoConfigure.sh

弹出如下对话框,输入yes或者y

Linux下QT开发平台的安装和交叉编译移植

等待一段时间过后,出来如下窗口,提示你输入make,然后执行make install,这里选择先输入make -j4(表示四线程,速度更快,不到1小时)

Linux下QT开发平台的安装和交叉编译移植

然后等待直到完成make命令,接下来输入make install,开始交叉编译qt到/opt/qt-570目录下。

Linux下QT开发平台的安装和交叉编译移植

可能会出来如下提示错误,不用担心,其实并不影响,已经交叉编译了触摸屏tslib,虚拟键盘什么的不需要。

Linux下QT开发平台的安装和交叉编译移植

进入到/opt目录下看看有没有qt-570目录生成,有的话代表已经成功了。

Linux下QT开发平台的安装和交叉编译移植

接下来只需要配置好Qtcreator就可以开发了。打开Qtcreator,点击工具/选项/构建与运行/编译器,配置如下

Linux下QT开发平台的安装和交叉编译移植

Linux下QT开发平台的安装和交叉编译移植

 

Linux下QT开发平台的安装和交叉编译移植

 

Linux下QT开发平台的安装和交叉编译移植

到此,QT配置完成,可以写程序开发了。

 

相关文章: