zoukankan      html  css  js  c++  java
  • 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 的应用开发了!

  • 相关阅读:
    Android开发之Sqlite的使用
    ZOJ 3607 Lazier Salesgirl
    ZOJ 3769 Diablo III
    ZOJ 2856 Happy Life
    Ural 1119 Metro
    Ural 1146 Maximum Sum
    HDU 1003 Max Sum
    HDU 1160 FatMouse's Speed
    Ural 1073 Square Country
    Ural 1260 Nudnik Photographer
  • 原文地址:https://www.cnblogs.com/newjiang/p/9282496.html
Copyright © 2011-2022 走看看