【Qt】Ubuntu16.04编译Qt5.8(x86&arm)

版权声明:本文为博主原创文章,转载注明出处 https://blog.csdn.net/u010875635/article/details/72793957

        Qt5.5.1之后就只有x64的binary安装文件了,若是需要32位或者arm版的,就需要自行编译了。

        编译步骤如下:


        1、准备gcc

                32位下载对应gcc即可,而arm的需要在linaro官网下载对应的cross-compile gcc,下载地址:https://releases.linaro.org/components/toolchain/binaries/,注意host版本(i686或x86_x64)以及目标平台(arm-linux-gnueabihf与arm-linux-gnueabi不同), gcc下载完毕最好写一个hello word编译后在目标平台上运行看看。


        2、准备环境。

                 若是在64位系统上编译32位,那么在安装库时,同时要安装32位版本的,默认不安装32位,加:i386强制安装,例如:sudo apt-get install libxcb-xinerama0-dev:i386

                 a.安装gl库:sudo apt-get install libqt4-dev 或者 sudo apt-get install libgl1-mesa-dev 或者 libgl1-mesa-dev 或者 libglu1-mesa-dev

                 b.安装xcb库:sudo apt-get install '^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev

                 c.安装工具: sudo apt-get install build-essential perl python git

                 d. 64位需要另外安装的:sudo apt-get install gcc-multilib g++-multilib  libc6:i386 lib32z1

                       sudo dpkg --add-architecture i386

                       sudo apt-get dist-upgrade

                 e.非必须库,会导致编译时间加长数倍,可以不安装,若需要Qt支持对应功能则要安装:

                          webkit:  sudo apt-get install flex bison gperf libicu-dev libxslt-dev ruby

                          webengine: sudo apt-get install libssl-dev libxcursor-dev libxcomposite-dev libxdamage-dev libxrandr-dev libdbus-1-dev libfontconfig1-dev libcap-dev libxtst-dev libpulse-dev libudev-dev libpci-dev libnss3-dev libasound2-dev libxss-dev libegl1-mesa-dev gperf bison


        3、下载编译Qt5.8.0源码

               解压后进入源码目录。

               在Ubuntu16.04 32位上编译x86 Qt:

                       ./configure -release -opensource -confirm-license -prefix /opt/Qt-5.8.0-x86  -nomake -examples -nomake -tests

               在Ubuntu16.04 64位上编译x86 Qt:

                       ./configure -release -opensource -confirm-license -prefix /opt/Qt-5.8.0-x86 -xplatform linux-g++-32 -nomake -examples -nomake -tests

               交叉编译arm或者armhf参考我的另外一篇博客:http://blog.csdn.net/u010875635/article/details/71055353,重点是设定交叉编译器路径以及./configure参数


        5、安装Qt-Creator,将Qt及gcc添加进入


qt编译以前的程序出现如下错误的解决方法:
Problem: usr/include/c++/5/bits/stl_relops.:67: Parse error at "std"
solve: delete .qmake.stash at source folder

没有更多推荐了,返回首页