一、开发环境
主机:ubuntu16.04
目标机:firefly
二、ubuntu16.04下安装QT Creator
1、下载安装包,并拷贝到虚拟机下
本人使用 qt-opensource-linux-x64-5.8.0.run
2、安装qt
(1)执行 ./qt-opensource-linux-x64-5.8.0.run
(2)接下来按照安装导向即可完成安装
参考我之前的博客:https://blog.csdn.net/kenjianqi1647/article/details/80151932
新建一个项目测试安装是否成功
三、下载编译用于Arm linux的Qte库,完成Ubuntu下嵌入式Qt开发环境搭建
1、搭建arm-linux交叉编译环境
本人使用:arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
下载地址:https://www.veryarm.com/arm-none-linux-gnueabi-gcc
(1)复制到虚拟机下
(2)解压到当前目录下
tar -xjvf arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
解压之后拷贝到usr目录下
sudo cp -rvf arm-2014.05 /usr
(3)把编译器路径加入系统环境变量
vim /etc/environment
打开.bashrc之后,文件的最后一行添加
export PATH=$PATH:/usr/arm-2014.05/bin”
保存并关闭
(4)更新环境变量
source /etc/environment
测试是否安装成功
输入arm- 再按tab键
交叉编译工具安装成功
四、移植Qte库到开发板上,完成Arm linux开发板的Qt程序运行环境搭建
1、下载qt-everywhere-opensource-src-5.8.0.tar.gz
下载地址:http://download.qt.io/archive/qt/5.8/5.8.0/
2、解压该文件
tar -xzvf qt-everywhere-opensource-src-5.8.0.tar.gz
复制文件到一个新的目录
sudo cp -rvf qt-everywhere-opensource-src-5.8.0 /usr/qt-arm/
进入以下目录
/usr/qt-arm/qt-everywhere-opensource-src-5.8.0/qtbase/mkspecs/linux-arm-gnueabi-g++$
执行
sudo vim qmake.conf
3、qmake.conf按照以下修改,并保存
#
# qmake configuration for building with arm-linux-gnueabi-g++
#
MAKEFILE_GENERATOR = UNIX
CONFIG += incremental
QMAKE_INCREMENTAL_STYLE = sublib
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)
4、配置源码
进入源码文件下直到找到configure,执行下面语句
sudo ./configure -release -opensource -confirm-license -xplatform linux-arm-gnueabi-g++ -prefix /usr/qt-arm-nomake examples -no-opengl -no-iconv -silent -qpa linuxfb -no-gtk -qt-libjpeg -qt-libpng
sudo ./configure -prefix /usr/qt-arm -xplatform linux-arm-gnueabi-g++ -no-libproxy -release -no-glib -gui -widgets -qt-libjpeg -qt-libpng -no-pch -no-opengl -no-openssl -no-xinput2 -no-xcb-xlib -nomake tools -nomake tests -nomake examples -opensource -qt-sqlite -continue -dbus
./configure -prefix $PWD/qtbase -opensource -xplatform arm-none-linux-gnueabi-g++ -no-opengl -nomake examples
config文件内容详解
以上在配置的时候总是出错,尝试使用方法二
方法二:此方法首先重新设置第三步
使用arm-linux-gnueabihf-gcc编译器
1、下载解压编译器
下载地址:https://pan.baidu.com/s/1pJ2rdkZ?errno=0&errmsg=Auth%20Login%20Sucess&&bduss=&ssnerror=0&traceid=
下载完成后为 tar.xz文件,此文件分两步解压
xz -d gcc-linaro-arm-linux-gnueabihf-4.9-2014.07_linux.tar.xz
tar -xvf gcc-linaro-arm-linux-gnueabihf-4.9-2014.07_linux.tar
2、解压之后复制
sudo sudo cp -rvf gcc-linaro-arm-linux-gnueabihf-4.9-2014.07_linux /usr/qt-arm/
3、配置到环境变量
vim /etc/environment
打开.bashrc之后,文件的最后一行添加
export PATH=$PATH:/usr/qt-arm/gcc-linaro-arm-linux-gnueabihf-4.9-2014.07_linux/bin”
4、更新环境变量
source /etc/environment
5、修改qt支持arm-linux-gnueabihf交叉编译工具
cd /usr/qt-arm/qt-everywhere-opensource-src-5.8.0/qtbase/mkspecs/linux-arm-gnueabi-g++$
sudo vim qmake.conf
按照以下修改并保存
#rm-linux-gnueabihf-gcc
# qmake configuration for building with arm-linux-gnueabi-g++
#
MAKEFILE_GENERATOR = UNIX
CONFIG += incremental
QMAKE_INCREMENTAL_STYLE = sublib
include(../common/linux.conf)
include(../common/gcc-base-unix.conf)
include(../common/g++-unix.conf)
# modifications to g++.conf
QMAKE_CC = arm-linux-gnueabihf-gcc
QMAKE_CXX = arm-linux-gnueabihf-g++
QMAKE_LINK = arm-linux-gnueabihf-g++
QMAKE_LINK_SHLIB = arm-linux-gnueabihf-g++
# modifications to linux.conf
QMAKE_AR = arm-linux-gnueabihf-ar cqs
QMAKE_OBJCOPY = arm-linux-gnueabihf-objcopy
QMAKE_NM = arm-linux-gnueabihf-nm -P
QMAKE_STRIP = arm-linux-gnueabihf-strip
load(qt_config)
~
~
6、配置qt
源码文件下执行
sudo ./configure -prefix $PWD/qtbase -opensource -xplatform linux-arm-gnueabihf-g++ -no-opengl -nomake examples
出现了上面同样的错误:
再一次配置环境变量
sudo vim ~/.bashrc
最后一行添加:export PATH=$PATH:/usr/qt-arm/gcc-linaro-arm-linux-gnueabihf-4.9-2014.07_linux/bin
source ~/.bashrc
export QMAKESPEC=/usr/qt-arm/qt-everywhere-opensource-src-5.8.0/qtbase/mkspecs/linux-g++
参考文献:http://dev.t-firefly.com/forum.php?mod=viewthread&tid=793&highlight=qt