iMX6 yocto平台QT交叉编译环境搭建

转:https://blog.csdn.net/morixinguan/article/details/79351909

. /opt/fsl-imx-fb/4.9.11-1.0.0/environment-setup-cortexa9hf-neon-poky-linux-gnueabi

/opt/fsl-imx-fb/4.9.11-1.0.0/sysroots/x86_64-pokysdk-linux/environment-setup.d/qt5.sh

/home/ubuntu/Qt5.8.0/Tools/QtCreator/bin/qtcreator.sh

qt-opensource-linux-x64-5.8.0.run

1、安装ubuntu上必备的库文件:

如果无法安装请依次执行以下两个命令:

apt-get upgrade

apt-get update

再安装以上的库文件。

2、搭建JDK开发环境

下载jdk1.6.0_45,然后安装jdk相关的库文件以及设置环境变量

3、安装yocto交叉编译工具以及QT开发环境可参考:

http://blog.csdn.net/lu_embedded/article/details/56102831

主机环境:Ubuntu 12.04, 64位 。 
交叉编译工具:Poky 1.5.3 交叉编译工具链及相关工具

1、安装交叉编译工具

  将 poky 交叉编译工具压缩包解压到 /opt 目录。

  1.  
    $ sudo cp fsl-imx-x11-Yocto_1.5.3.tar.bz2 /opt
  2.  
    $ cd /opt
  3.  
    $ sudo tar jxvf fsl-imx-x11-Yocto_1.5.3.tar.bz2

  用 ls 命令查看一下。

  1.  
    $ ls -1 /opt/poky/1.5.3/
  2.  
     
  3.  
    environment-setup-cortexa9hf-vfp-neon-poky-linux-gnueabi
  4.  
    site-config-cortexa9hf-vfp-neon-poky-linux-gnueabi
  5.  
    sysroots
  6.  
    version-cortexa9hf-vfp-neon-poky-linux-gnueabi

  为交叉编译工具指定用户或组,XXX 是你的 ubuntu 用户的名字。

$ sudo chown -R XXX:XXX /opt/poky

2、安装 Qt Creator

  我这里下载到的是 qt-creator-opensource-linux-x86_64-3.2.1.run,安装过程如下。 
  同样,拷贝到 /opt 目录下,直接运行即可进入安装界面。

  1.  
    $ sudo cp qt-creator-opensource-linux-x86_64-3.2.1.run /opt
  2.  
    $ cd /opt
  3.  
    $ ./qt-creator-opensource-linux-x86_64-3.2.1.run
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

3、配置 Qt creator 的运行环境

  修改 /opt/qtcreator-3.2.1/bin/qtcreator.sh,在文件的第一行加入一段:

. /opt/poky/1.5.3/environment-setup-cortexa9hf-vfp-neon-poky-linux-gnueabi
这里写图片描述

  environment-setup-cortexa9hf-vfp-neon-poky-linux-gnueabi 的内容如下。

  1.  
    export PATH=/opt/poky/1.5.3/sysroots/x86_64-pokysdk-linux/usr/bin:/opt/poky/1.5.3/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi:$PATH
  2.  
    export PKG_CONFIG_SYSROOT_DIR=/opt/poky/1.5.3/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi
  3.  
    export PKG_CONFIG_PATH=/opt/poky/1.5.3/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/usr/lib/pkgconfig
  4.  
    export CONFIG_SITE=/opt/poky/1.5.3/site-config-cortexa9hf-vfp-neon-poky-linux-gnueabi
  5.  
    export CC="arm-poky-linux-gnueabi-gcc -march=armv7-a -mthumb-interwork -mfloat-abi=hard -mfpu=neon -mtune=cortex-a9 --sysroot=/opt/poky/1.5.3/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi"
  6.  
    export CXX="arm-poky-linux-gnueabi-g++ -march=armv7-a -mthumb-interwork -mfloat-abi=hard -mfpu=neon -mtune=cortex-a9 --sysroot=/opt/poky/1.5.3/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi"
  7.  
    export CPP="arm-poky-linux-gnueabi-gcc -E -march=armv7-a -mthumb-interwork -mfloat-abi=hard -mfpu=neon -mtune=cortex-a9 --sysroot=/opt/poky/1.5.3/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi"
  8.  
    export AS="arm-poky-linux-gnueabi-as "
  9.  
    export LD="arm-poky-linux-gnueabi-ld --sysroot=/opt/poky/1.5.3/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi"
  10.  
    export GDB=arm-poky-linux-gnueabi-gdb
  11.  
    export STRIP=arm-poky-linux-gnueabi-strip
  12.  
    export RANLIB=arm-poky-linux-gnueabi-ranlib
  13.  
    export OBJCOPY=arm-poky-linux-gnueabi-objcopy
  14.  
    export OBJDUMP=arm-poky-linux-gnueabi-objdump
  15.  
    export AR=arm-poky-linux-gnueabi-ar
  16.  
    export NM=arm-poky-linux-gnueabi-nm
  17.  
    export M4=m4
  18.  
    export TARGET_PREFIX=arm-poky-linux-gnueabi-
  19.  
    export CONFIGURE_FLAGS="--target=arm-poky-linux-gnueabi --host=arm-poky-linux-gnueabi --build=x86_64-linux --with-libtool-sysroot=/opt/poky/1.5.3/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi"
  20.  
    export CFLAGS=" -O2 -pipe -g -feliminate-unused-debug-types"
  21.  
    export CXXFLAGS=" -O2 -pipe -g -feliminate-unused-debug-types -fpermissive"
  22.  
    export LDFLAGS="-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed"
  23.  
    export CPPFLAGS=""
  24.  
    export OECORE_NATIVE_SYSROOT="/opt/poky/1.5.3/sysroots/x86_64-pokysdk-linux"
  25.  
    export OECORE_TARGET_SYSROOT="/opt/poky/1.5.3/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi"
  26.  
    export OECORE_ACLOCAL_OPTS="-I /opt/poky/1.5.3/sysroots/x86_64-pokysdk-linux/usr/share/aclocal"
  27.  
    export OECORE_DISTRO_VERSION="1.5.3"
  28.  
    export OECORE_SDK_VERSION="1.5.3"
  29.  
    export PYTHONHOME=/opt/poky/1.5.3/sysroots/x86_64-pokysdk-linux/usr
  30.  
    export ARCH=arm
  31.  
    export CROSS_COMPILE=arm-poky-linux-gnueabi-
  32.  
    export OE_QMAKE_CFLAGS="$CFLAGS"
  33.  
    export OE_QMAKE_CXXFLAGS="$CXXFLAGS"
  34.  
    export OE_QMAKE_LDFLAGS="$LDFLAGS"
  35.  
    export OE_QMAKE_CC=$CC
  36.  
    export OE_QMAKE_CXX=$CXX
  37.  
    export OE_QMAKE_LINK=$CXX
  38.  
    export OE_QMAKE_AR=$AR
  39.  
    export OE_QMAKE_LIBDIR_QT=/opt/poky/1.5.3/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi//usr/lib
  40.  
    export OE_QMAKE_INCDIR_QT=/opt/poky/1.5.3/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi//usr/include/qt4
  41.  
    export OE_QMAKE_MOC=/opt/poky/1.5.3/sysroots/x86_64-pokysdk-linux/usr/bin/moc4
  42.  
    export OE_QMAKE_UIC=/opt/poky/1.5.3/sysroots/x86_64-pokysdk-linux/usr/bin/uic4
  43.  
    export OE_QMAKE_UIC3=/opt/poky/1.5.3/sysroots/x86_64-pokysdk-linux/usr/bin/uic34
  44.  
    export OE_QMAKE_RCC=/opt/poky/1.5.3/sysroots/x86_64-pokysdk-linux/usr/bin/rcc4
  45.  
    export OE_QMAKE_QDBUSCPP2XML=/opt/poky/1.5.3/sysroots/x86_64-pokysdk-linux/usr/bin/qdbuscpp2xml4
  46.  
    export OE_QMAKE_QDBUSXML2CPP=/opt/poky/1.5.3/sysroots/x86_64-pokysdk-linux/usr/bin/qdbusxml2cpp4
  47.  
    export OE_QMAKE_QT_CONFIG=/opt/poky/1.5.3/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi//usr/share/qt4/mkspecs/qconfig.pri
  48.  
    export QMAKESPEC=/opt/poky/1.5.3/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi//usr/share/qt4/mkspecs/linux-g++
  49.  
    export QT_CONF_PATH=/opt/poky/1.5.3/sysroots/x86_64-pokysdk-linux//etc/qt.conf

4、配置 Qt creator

4.1 运行 QT creator

  进入到 /opt/qtcreator-3.2.1/bin 目录,执行命令 $ ./ qtcreator.sh,运行 Qt creator。

这里写图片描述

  然后,在 Qt 运行界面下,菜单栏点击 “Tools –> Options –> Build&Run”,进行相关配置。

这里写图片描述

4.2 设置 “Compiler”

  添加一个“ Manual” ,点击 Add –> GCC ,添加一个 GCC。

这里写图片描述

点击 Browser 选择 Compiler path 为:/opt/poky/1.5.3/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-g++,然后点击 apply。

4.3 设置 “QT Versions”

  添加一个“ Manual” ,点击 Add ,点击 Browser,选择 qmake location 为:/opt/poky/1.5.3/sysroots/x86_64-pokysdk-linux/usr/bin/qmake,然后点击 apply。

这里写图片描述

4.4 设置“ Kit”

  添加一个“ Manual” ,点击 Add,点击 Browser,选择 Sysroot 为:/opt/poky/1.5.3/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi。点击 Compiler,选择先去配置好的 GCC。 
然后点击 apply。

这里写图片描述

  最后点击 OK 退出。 
  至此,i.MX 平台的 Qt 开发环境搭建完毕,接下来就可以在此环境上面进行 Qt 的应用开发了!

原文地址:https://www.cnblogs.com/newjiang/p/9282496.html