Beaglebone Black——嵌入式QT开发环境搭建

        阅读本文之前请先阅读Beaglebone Black——tslib编译与安装,先按照那篇文章做完再接着下面的步骤,本文主要记录了PC机上Qt源码的编译、BBB上Qt库的安装与配置、PC机上Qt-creator的安装与配置。

        首先陈述一下这些步骤的作用。我们的最终目的是为了在BBB上面运行Qt程序,而一个Qt应用程序在BBB上运行必须要有Qt库,所以我们在PC上通过交叉编译工具进行Qt源码的编译,得到的Qt库拷贝(拷贝也就是BBB上Qt库的安装)到BBB上为应用程序的运行做准备,此时PC机和BBB上面都有一套相同的Qt库。PC机上面也需要这个Qt库是因为应用程序的源码在PC机上面进行编译的时候必须链接Qt库,所以PC机上也需要这个库。换句话说PC机上面的Qt库是为了编译Qt界面程序的源码时进行链接,而BBB上面的Qt库则是为了支持Qt界面程序的运行。

        另外在BBB上面运行qt界面程序往往还需要支持触摸屏操作,因此BBB上面必须安装tslib库,所以才会有tslib编译与

装一文的步骤。同样的,tslib和Qt库一样也是PC机和BBB上面都有相同的一套,各有其作用。

        PC机上安装的Qt-creator则是一个框架,一个空壳,或者说一个平台,他需要配合交叉编译工具链、Qt库、tslib库以

我们的源码才能编译出最后的应用程序,另外它的辅助功能相当多,还有Qt designer、Qt Quick、Qt assistant等,同时还可以通过配置一键将源码编译成可执行程序然后传送到BBB上并运行。


        操作环境:同Beaglebone Black——tslib编译与安装一文操作环境

        Qt库编译与安装操作步骤:

        (1)在这个存档http://download.qt.io/official_releases/中找到你想要的Qt creator和Qt库版本,然后download!我选择的版本分别为qt-creator-opensource-linux-x86-3.1.1、qt-everywhere-openso

urce-src-4.8.6。

        (2)解压qt-everywhere-opensource-src-4.8.6到目录/home/<user>/software/QT/qt-everywhere-opensource-src-4

.8.6。进入源码目录cdqt-everywhere-opensource-src-4.8.6。

        (3)mkdir mkspecs/qws/linux-am335x-g++

        (4)cp mkspecs/qws/linux-arm-g++/qplatformdefs.h mkspecs/qws/linux-am335x-g++

        (5)vi mkspecs/qws/linux-am335x-g++/qmake.conf

        (6)在新建的qmake.conf文件中写入如下参数,用于下一步Qt库的编译:

# qmake configuration for building for Beaglebone Black
#
 
include(../../common/linux.conf)
include(../../common/gcc-base-unix.conf)
include(../../common/g++-unix.conf) 
include(../../common/qws.conf)
 
#Toolchain
 
#Compiler Flags to take advantage of the ARM architecture
QMAKE_CFLAGS_RELEASE =   -O3 -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=hard
QMAKE_CXXFLAGS_RELEASE = -O3 -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=hard
 

QMAKE_CC =  /usr/gcc-linaro-arm-linux-gnueabihf-4.7-2013.04-20130415_linux/bin/arm-linux-gnueabihf-gcc -lts
QMAKE_CXX = /usr/gcc-linaro-arm-linux-gnueabihf-4.7-2013.04-20130415_linux/bin/arm-linux-gnueabihf-g++ -lts
QMAKE_LINK = /usr/gcc-linaro-arm-linux-gnueabihf-4.7-2013.04-20130415_linux/bin/arm-linux-gnueabihf-g++ -lts
QMAKE_LINK_SHLIB = /usr/gcc-linaro-arm-linux-gnueabihf-4.7-2013.04-20130415_linux/bin/arm-linux-gnueabihf-g++ -lts
 
# modifications to linux.conf
QMAKE_AR = /usr/gcc-linaro-arm-linux-gnueabihf-4.7-2013.04-20130415_linux/bin/arm-linux-gnueabihf-ar cqs
QMAKE_OBJCOPY = /usr/gcc-linaro-arm-linux-gnueabihf-4.7-2013.04-20130415_linux/bin/arm-linux-gnueabihf-objcopy
QMAKE_STRIP = /usr/gcc-linaro-arm-linux-gnueabihf-4.7-2013.04-20130415_linux/bin/arm-linux-gnueabihf-strip

#support for the tslib user
QMAKE_INCDIR += /home/<user>/software/QT/tslib-master/src
QMAKE_LIBDIR += /home/<user>/software/QT/tslib/lib

load(qt_config)

16-19:“=”后面的路径指明了交叉编译工具的绝对路径,参数-lts最好加上,不加的情况下后面编译程序时出现错误。

27-28:这两条语句指明了PC机上tslib源码及其编译好的库的位置,加上这两句后面编译出来的Qt界面程序就能对触摸

屏操作进行支持。

编辑好之后保存退出。

        (7)进入源码主目录,进行参数配置,为编译做准备。运行如下参数:

./configure -v -opensource -confirm-license -prefix /opt/qt-arm -embedded arm -platform qws/linux-x86-g++ -xplatform qws/linux-am335x-g++ -depths 16,24,32 -no-mmx -no-3dnow -no-sse -no-sse2 -no-ssse3 -no-glib -no-cups -no-largefile -no-accessibility -no-openssl -no-gtkstyle -qt-mouse-pc -qt-mouse-linuxtp -qt-mouse-linuxinput -plugin-mouse-linuxtp -plugin-mouse-pc -fast -little-endian -host-big-endian -no-pch -no-sql-ibase -no-sql-mysql -no-sql-odbc -no-sql-psql -no-sql-sqlite -no-sql-sqlite2 -no-webkit -no-qt3support -nomake examples -nomake demos -nomake docs -nomake translations -qt-mouse-tslib

         最后的-qt-mouse-tslib是为了对触摸屏操作进行支持。运行完成之后出现如下提示:

Qt is now configured for building. Just run 'make'.
Once everything is built, you must run 'make install'.
Qt will be installed into /opt/qt-arm
 
To reconfigure, run 'make confclean' and 'configure'.

        (8)make -j4。然后等待......其中4代表CPU核数,如果此时电脑不做其他事情可以写4,如果你还想做其他事情同时

这边编译,那么最好写-j3.

        (9)sudo make install。至此Qt库的编译算是完成了,记住这个/opt/qt-arm目录,这是PC机上Qt库的位置,后面的

Qt creator就靠这个目录链接Qt库。

        (10)将编译好的库安装到BBB板子上。

         scp -r /opt/qt-arm/lib [email protected]:/opt/qt-arm/

         scp -r /opt/qt-arm/plugins [email protected]:/opt/qt-arm/

         当然还要告诉BBB安装的Qt库在哪个位置,vi /etc/profile,在PATH一行之后添加:/opt/qt-arm/lib

至此,PC机上Qt库安装在/opt/qt-arm/目录下,不过注意这个库是由交叉编译工具编译出来的,所以只能在编译ARM上的Qt界面程序时使用。BBB上的Qt库安装在/opt/qt-arm/目录下。


Qt creator安装与配置操作步骤:

(1)........

  安装教程网上资料众多,此处省略N个字


参考资料:http://embedded.von-kannen.net/2014/05/21/qt-4-8-6-on-beaglebone-black/

你可能感兴趣的:(Beaglebone Black——嵌入式QT开发环境搭建)