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 目录。
- $ sudo cp fsl-imx-x11-Yocto_1.5.3.tar.bz2 /opt
- $ cd /opt
- $ sudo tar jxvf fsl-imx-x11-Yocto_1.5.3.tar.bz2
用 ls 命令查看一下。
- $ ls -1 /opt/poky/1.5.3/
- environment-setup-cortexa9hf-vfp-neon-poky-linux-gnueabi
- site-config-cortexa9hf-vfp-neon-poky-linux-gnueabi
- sysroots
- 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 目录下,直接运行即可进入安装界面。
- $ sudo cp qt-creator-opensource-linux-x86_64-3.2.1.run /opt
- $ cd /opt
- $ ./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 的内容如下。
- 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
- export PKG_CONFIG_SYSROOT_DIR=/opt/poky/1.5.3/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi
- export PKG_CONFIG_PATH=/opt/poky/1.5.3/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/usr/lib/pkgconfig
- export CONFIG_SITE=/opt/poky/1.5.3/site-config-cortexa9hf-vfp-neon-poky-linux-gnueabi
- 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"
- 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"
- 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"
- export AS="arm-poky-linux-gnueabi-as "
- export LD="arm-poky-linux-gnueabi-ld --sysroot=/opt/poky/1.5.3/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi"
- export GDB=arm-poky-linux-gnueabi-gdb
- export STRIP=arm-poky-linux-gnueabi-strip
- export RANLIB=arm-poky-linux-gnueabi-ranlib
- export OBJCOPY=arm-poky-linux-gnueabi-objcopy
- export OBJDUMP=arm-poky-linux-gnueabi-objdump
- export AR=arm-poky-linux-gnueabi-ar
- export NM=arm-poky-linux-gnueabi-nm
- export M4=m4
- export TARGET_PREFIX=arm-poky-linux-gnueabi-
- 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"
- export CFLAGS=" -O2 -pipe -g -feliminate-unused-debug-types"
- export CXXFLAGS=" -O2 -pipe -g -feliminate-unused-debug-types -fpermissive"
- export LDFLAGS="-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed"
- export CPPFLAGS=""
- export OECORE_NATIVE_SYSROOT="/opt/poky/1.5.3/sysroots/x86_64-pokysdk-linux"
- export OECORE_TARGET_SYSROOT="/opt/poky/1.5.3/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi"
- export OECORE_ACLOCAL_OPTS="-I /opt/poky/1.5.3/sysroots/x86_64-pokysdk-linux/usr/share/aclocal"
- export OECORE_DISTRO_VERSION="1.5.3"
- export OECORE_SDK_VERSION="1.5.3"
- export PYTHONHOME=/opt/poky/1.5.3/sysroots/x86_64-pokysdk-linux/usr
- export ARCH=arm
- export CROSS_COMPILE=arm-poky-linux-gnueabi-
- export OE_QMAKE_CFLAGS="$CFLAGS"
- export OE_QMAKE_CXXFLAGS="$CXXFLAGS"
- export OE_QMAKE_LDFLAGS="$LDFLAGS"
- export OE_QMAKE_CC=$CC
- export OE_QMAKE_CXX=$CXX
- export OE_QMAKE_LINK=$CXX
- export OE_QMAKE_AR=$AR
- export OE_QMAKE_LIBDIR_QT=/opt/poky/1.5.3/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi//usr/lib
- export OE_QMAKE_INCDIR_QT=/opt/poky/1.5.3/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi//usr/include/qt4
- export OE_QMAKE_MOC=/opt/poky/1.5.3/sysroots/x86_64-pokysdk-linux/usr/bin/moc4
- export OE_QMAKE_UIC=/opt/poky/1.5.3/sysroots/x86_64-pokysdk-linux/usr/bin/uic4
- export OE_QMAKE_UIC3=/opt/poky/1.5.3/sysroots/x86_64-pokysdk-linux/usr/bin/uic34
- export OE_QMAKE_RCC=/opt/poky/1.5.3/sysroots/x86_64-pokysdk-linux/usr/bin/rcc4
- export OE_QMAKE_QDBUSCPP2XML=/opt/poky/1.5.3/sysroots/x86_64-pokysdk-linux/usr/bin/qdbuscpp2xml4
- export OE_QMAKE_QDBUSXML2CPP=/opt/poky/1.5.3/sysroots/x86_64-pokysdk-linux/usr/bin/qdbusxml2cpp4
- export OE_QMAKE_QT_CONFIG=/opt/poky/1.5.3/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi//usr/share/qt4/mkspecs/qconfig.pri
- export QMAKESPEC=/opt/poky/1.5.3/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi//usr/share/qt4/mkspecs/linux-g++
- 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 的应用开发了!
iMX6 yocto平台QT交叉编译环境搭建的更多相关文章
- linux下arm平台Qt编译环境搭建与解析
一.概述: 我们知道QTcreator.这仅仅是个IDE,他包含了一个编译器--qmake.这两者的关系与codeblocks和g++的关系一样,首先要明确这些. 而我们在linu ...
- YA157C交叉编译环境搭建
目录 1.开发板简介 3.主机搭建交叉编译环境 4.编译第一个ARM Linux程序--Hello World 5.在开发板上运行Hello World程序 6.ssh登录开发板 7.注意 8.she ...
- Exynos4412交叉编译环境搭建
Exynos4412交叉编译环境搭建 交叉编译:在PC机(x86平台)上开发程序,在ARM板上运行,提高开发.编译速度. 环境: Tiny4412SDK1506开发板 需要软件: arm-linux- ...
- Zynq7000开发系列-6(QT开发环境搭建:Ubuntu、Zynq)
操作系统:Ubuntu14.04.5 LTS 64bit Qt:Qt 5.4.2 (qt-opensource-linux-x64-5.4.2.run.qt-everywhere-opensource ...
- Ubuntu系统下arm-linux-gcc交叉编译环境搭建过程
搭建所需环境Linux版本:Ubuntu 14.10 交叉编译器版本:arm-linux-gcc-4.4.3资源链接 何为交叉编译环境搭建交叉编译环境,即安装.配置交叉编译工具链.在Ubuntu环境下 ...
- Qt开发环境搭建 - Windows + VS2010 + VS插件
Qt 开发环境搭建 - Windows+VS2010+VS插件 1.Qt在Windows平台下的三种开发环境 方案 编辑器 编译器 调试器 一 Qt Creator MinGW GDB 二 Qt Cr ...
- qt学习教程1.qt开发环境搭建
qt学习教程1.qt开发环境搭建 首先下载qt 下载地址:http://download.qt.io/archive/qt/ 此教程使用的版本为5.1.1 下载好后,打开安装包,然后点下一步 选择一个 ...
- QT笔记(1)--QT编程环境搭建
一.QT简介 Qt 是一个1991年由奇趣科技开发的跨平台C++图形用户界面应用程序开发框架.它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器.Qt是面向对象的框架,使用特殊 ...
- QT开发环境搭建
一.Qt发展史 1991年,由奇趣科技开发的跨平台C++图形用户界面应用程序开发框架: 2008年,Nokia从Trolltech公司收购Qt, 并增加LGPL的授权模式: 2011年,Digia从N ...
随机推荐
- Python Socket 网络编程 (服务器端编程)
服务器端主要做以下工作: 打开 socket 绑定到特定的地址以及端口上 监听连接 建立连接 接收/发送数据 上面已经介绍了如何创建 socket 了,下面一步是绑定. 绑定 socket 函数 bi ...
- React ES5 (createClass) 和 ES6 (class)
https://www.w3cplus.com/react/react-es5-createclass-vs-es6-classes.html http://blog.csdn.net/shaleil ...
- Linux学习目录
一.CentOS for Linux 大神博客:骏马金龙 Linux也可以参考,这篇博客进行学习 http://www.cnblogs.com/f-ck-need-u/p/7048359.html ...
- C# 关于在原图中寻找子图片坐标的类
在网上找了好久,没有一个现成的例子,自己也发帖子可惜没有找到好办法. 只好自己动手写了, 以下为个人想法所写,算法可能不会太好,如果各位有好的例子发来大家一起分享一下. 这个类主要实现了图片坐标查找功 ...
- 1119 机器人走方格 V2(组合)
1119 机器人走方格 V2 基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题 M * N的方格,一个机器人从左上走到右下,只能向右或向下走.有多少种不同的走法?由于 ...
- Frosh Week(归并排序求逆序数)
H - Frosh Week Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Desc ...
- tomcat 的 Pipeline 机制
一.server.xml 在每个容器对象里面都有一个pipeline,Pipeline就像是每个容器的逻辑总线. <Host name="localhost" appBase ...
- Python获取主机名
import socket print socket.gethostname()
- ubuntu 安装Nodejs
ubuntu 安装Nodejs 1.在软件管理器里面安装nodejs2.由于版本很老,所以需要更新版本:先安装npm , sudo apt install npm然后用npm安装 n 命令,更新nod ...
- linux虚拟机能ping通windows主机,windows主机ping不通linux虚拟机的解决办法
分三步: 1.虚拟机网络连接方式选择Nat