开发环境搭建(四)编译Qt 5.5.1

来源:互联网 发布:淘宝关键词热度 编辑:程序博客网 时间:2024/06/03 17:05

转自:http://blog.csdn.net/deyili/article/details/51012106

为什么要编译QT?通过atp-get install 可安装 5.2.1,如果没有更高Qt版本的需求,这一步操作以及下一步操作可以跳过。如果需要更高版本的QT,而QT官方没有提供ARM版本,所以只能自己编译。本教程是整理的QT5.5.1的编译安装过程。

 

  1.下载QT5.5.1资源文件:

   qt-everywhere-opensource-src-5.5.1.tar.gz

可在以下网址获取:

http://download.qt.io/official_releases/qt/5.5/5.5.1/single/qt-everywhere-opensource-src-5.5.1.tar.gz

建议:将压缩包保存到sd卡上,并且之后的编译过程在sd卡上进行,因为编译好的QT,是可以重复使用的,编译一次QT会花费大量的时间。一次编译,如果下次TK1开发板挂掉后,就可以插上sd卡直接安装QT,不需要再次的编译,后面的QT Creator也是相同的道理,还有前面教程中下载的资源也可以备份到sd卡,为下一次的刷机,或者刷多个机子,可以节省大量时间。切记,如果你采取我的建议,务必将sd卡,右键格式化为Linux分区(即ext3, ext4 ...),sd卡重命名一个恰当的名字,如果想复用编译好的QT,编译好QT后千万不要修改sd卡的名字,因为与编译的路径有关。

 

  2. 解压文件:

    cd到下载的资源文件目录下,(如果存储到了sd卡下,则cd /media/ubuntu/(sd卡的名字))。在终端执行命令:

tar -zxvf qt-everywhere-opensource-src-5.5.1.tar.gz

 

  3. 先不要着急编译,有几个坑需要填:

   1).  创建以下环境变量:

    终端命令:vi ~/.bashrc

    打开文件并在末尾添加如下代码:

        export SYSROOT

        export PKG_CONFIG_SYSROOT_DIR=/

        exportPKG_CONFIG_LIBDIR=$SYSROOT/usr/lib/arm-linux-gnueabihf/pkgconfig:$SYSROOT/usr/share/pkgconfig:$SYSROOT/usr/lib/pkgconfig

        exportPKG_CONFIG_PATH=$SYSROOT/usr/lib/arm-linux-gnueabihf/pkgconfig:$SYSROOT/usr/share/pkgconfig:$SYSROOT/usr/lib/pkgconfig

       保存文件,并在终端执行命令:source~/.bashrc

   2).  cd到qt-everywhere-opensource-src-5.5.1文件夹,vi打开并修改文件qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf,将全文替换如下,切记是将全文替换:

 

########################################################

MAKEFILE_GENERATOR      = UNIX

CONFIG                 += incremental

QMAKE_INCREMENTAL_STYLE = sublib

 

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                = gcc

QMAKE_CXX               = g++

QMAKE_LINK              = g++

QMAKE_LINK_SHLIB        = g++

 

# modifications to linux.conf

QMAKE_AR                = ar cqs

QMAKE_OBJCOPY           = objcopy

QMAKE_NM                = nm -P

QMAKE_STRIP             = strip

load(qt_config)

################################################

3). 打开qt-everywhere-opensource-src-5.5.1文件夹下的 qt.pro, 你会发下许多addModule(......),注释掉 qtcanvas3d, qt3d, qtconnectivity, qtwayland 这几个模块,即用#注释掉含有如上字段的addModule(......) 。

4). 如果要使用摄像头,视频播放等多媒体功能,一定要安装好gstreamer/libgstreamer,可通过apt-get安装。

在终端中执行命令:sudo apt-get install gstreamer1.0

   5). 在终端中执行命令:

    ./configure -release -opensource -xplatform linux-arm-gnueabi-g++-prefix /opt/qt551 -no-C++11 -qt-zlib -qt-xcb

注释:/opt/qt551 为配置qt的安装目录,可自己设定。-qt-zlib 及 -qt-xcb是将第三方库编译到QT中,本教程只选取了zlib和xcb库,建议事先确定日后是否需要其他第三方库,避免日后因为缺少库,而重新编译QT,这是很痛苦的事情。

如下是节选的QT官方文档:

Third-Party Libraries

TheQt source packages include third-party libraries. To set whether Qt should usethe system's versions of the libraries or to use the bundled version, passeither -system or -qtbefore the name of the library to configure.

Thetable below summarizes the third-party options:

Library Name

Bundled in Qt

Installed in System

zlib

-qt-zlib

-system-zlib

libjpeg

-qt-libjpeg

-system-libjpeg

libpng

-qt-libpng

-system-libpng

xcb

-qt-xcb

-system-xcb

xkbcommon

-qt-xkbcommon

-system-xkbcommon

freetype

-qt-freetype

-system-freetype

PCRE

-qt-pcre

-system-pcre

HarfBuzz-NG

-qt-harfbuzz

-system-harfbuzz

 

 

 

 

 

  









4. 编译安装:

在终端中执行命令:make

这需要一段时间。如果编译成功,则可以进行下面的安装步骤。

这里再说一句,如果你选择了在SD卡里进行了上面的操作,那么恭喜你,如果下次再需要安装QT,上面的编译QT的过程这可以全部跳过,只需要cd到该目录,执行下面的安装。

    在终端中执行命令:sudo make install

经过漫长的等待,Qt编译成功。可以cd 到/opt/qt551(本教程的安装目录)查看确定一下。

 

5. 配置环境变量:

    在终端中执行命令: vi ~/.bashrc 打开文件,在文件尾部添加如下:

   export PATH=/opt/qt551/bin:$PATH

export LD_LIBRARY_PATH=/opt/qt551/lib:$LD_LIBRARY_PATH

切记:/opt/qt551是本教程安装的目录,如果你自定了自己的安装目录,请做相应修改。注:请将路径放在$PATH和$LD_LIBRARY_PATH前面,这样确保系统先找到qt5.5.1的库,因为系统自带了低版本的qt。

    保存文件退出。

在终端执行命令:source ~/.bashrc

 

  6.验证qt是否安装成功:

终端执行命令qmake -version

    如果QT的version为5.5.1,则安装成功。

0 0
原创粉丝点击