精华内容
下载资源
问答
  • qt交叉编译环境搭建方法
  • 交叉编译环境搭建 linux交叉编译环境的搭建有的不是很顺利,下面讲述一下搭建过程。
  • Qt5.6交叉编译环境搭建
  • 交叉编译环境搭建

    千次阅读 2017-11-17 21:59:19
    一个简单的交叉编译环境搭建
    展开全文
  • 嵌入式交叉编译环境搭建 1,嵌入式交叉编译环境搭建 所谓的搭建交叉编译环境,即安装、配置交叉编译工具链。在该环境下编译出嵌入式Linux系统所需的操作系统、应用程序等,然后再上传到目标机上。...

    1,嵌入式交叉编译环境搭建

    所谓的搭建交叉编译环境,即安装、配置交叉编译工具链。在该环境下编译出嵌入式Linux系统所需的操作系统、应用程序等,然后再上传到目标机上。
    
       交叉编译工具链是为了编译、链接、处理和调试跨平台体系结构的程序代码。对于交叉开发的工具链来说,在文件名称上加了一个前缀,用来区别本地的工具链。例如,arm-linux-表示是对arm的交叉编译工具链;arm-linux-gcc表示是使用gcc的编译器。除了体系结构相关的编译选项以外,其使用方法与Linux主机上的gcc相同,所以Linux编程技术对于嵌入式同样适用。不过,并不是任何一个版本拿来都能用,各种软件包往往存在版本匹配问题。例如,编译内核时需要使用arm-linux-gcc-4.3.3版本的交叉编译工具链,而使用arm-linux-gcc-3.4.1的交叉编译工具链,则会导致编译失败。
    
       那么gcc和arm-linux-gcc的区别是什么呢?区别就是gcc是linux下的C语言编译器,编译出来的程序在本地执行,而arm-linux-gcc用来在linux下跨平台的C语言编译器,编译出来的程序在目标机(如ARM平台)上执行,嵌入式开发应使用嵌入式交叉编译工具链。
    嵌入式交叉编译环境的搭建过程图文解说
    工具/原料
    
        电脑系统:win7系统。虚拟机系统:workstation6.5 。虚拟机安装的linux版本:fedora9.0。内核:linux2.6.25 。
    
    方法/步骤
    
        1
    
        我使用的交叉编译工具链是arm-linux-gcc-4.4.3,把它放在linux系统的路径是图一
        嵌入式交叉编译环境的搭建过程图文解说
        2
    
         如图一所示,在linux系统的路径/home/song/share下放了交叉编译工具链arm-linux-gcc-4.4.3的压缩包,另一个版本的不用。有的人可能会问到怎么把这个压缩包弄到虚拟机的linux的系统的,我是通过samba服务从主机复制到虚拟机的,这里的share文件夹就是我samba服务器的工作目录,多了不说,这不是重点。
    
           然后通过命令mkdir embedded 建立一个arm-linux-gcc的安装目录,如图二所示。当然安装路径和目录名称“embedded”可以依自己的喜好而定。
        嵌入式交叉编译环境的搭建过程图文解说
        3
    
          然后通过命令将share文件夹下的arm-linux-gcc-4.4.3.tar.gz复制到这里的embedded文件夹下,如图四所示。当然这里你也可以不进行这一步我这是为了方便以后管理,将arm-linux-gcc安装到embedded文件夹下,方便以后寻找。
        嵌入式交叉编译环境的搭建过程图文解说
        4
    
           然后使用tar命令:tar zxvf arm-gcc-4.4.3.tar.gz将embedded文件夹下的arm-linux-gcc-4.4.3.tar.gz解压缩安装到当前目录下 ,如图五所示。
        嵌入式交叉编译环境的搭建过程图文解说
        5
    
           执行完解压缩命令,就已经将交叉编译工具链arm-linux-gcc-4.4.3安装到linux系统上了,这里默认安装到了图六所示的路径上。
        嵌入式交叉编译环境的搭建过程图文解说
        6
    
            接下来配置系统环境变量,把交叉编译工具链的路径添加到环境变量PATH中去,这样就可以在任何目录下使用这些工具。记下图六中的安装路径,使用图七中的命令:vi /etc/profile 编辑profile文件,添加环境变量。
        嵌入式交叉编译环境的搭建过程图文解说
        7
    
          在profile中的位置处,添加图八所示的红线标注的一行,路径就是图六中的红线标注的路径后面加上/4.4.3/bin。
        嵌入式交叉编译环境的搭建过程图文解说
        8
    
         图八中的路径一定是你自己的安装路径,可以使用pwd命令查找一下那个bin目录的路径。添加完路径后,保存退出。接下来使用命令:source /etc/profile,是修改后的profile文件生效,如图九所示。
        嵌入式交叉编译环境的搭建过程图文解说
        9
    
           然后,使用命令:arm-linux-gcc -v查看当前交叉编译链工具的版本信息,如图九中的红线标注第③行所示。很明显从图九可以看到,如果不执行第②步,则查看版本信息不成功。
    
           然后验证交叉编译工具链是否安装成功并且可以使用,如图九所示,随便找一个目录编辑一个hello源代码。
        嵌入式交叉编译环境的搭建过程图文解说
        嵌入式交叉编译环境的搭建过程图文解说
        10
    
           编辑好hello.c文件后,保存退出。然后使用交叉编译器对hello.c进行编译,并生成可执行文件hello,如图11所示。
        嵌入式交叉编译环境的搭建过程图文解说
        11
    
         这里生成的hello文件并不能像gcc编译出来的文件那样直接使用“./hello”命令执行并显示内容, 如图12所示,因为它是一个二进制文件,只能下载到开发板上执行!
        嵌入式交叉编译环境的搭建过程图文解说
        12
    
          至此,搭建交叉编译环境步骤结束。
    View Code

     

    posted on 2015-05-16 11:44 秦瑞It行程实录 阅读(...) 评论(...) 编辑 收藏

    转载于:https://www.cnblogs.com/ruiy/p/4507597.html

    展开全文
  • 配置qt的编译环境方法,linux下配置qt,配置linux qt的方法,imx6 qt交叉编译环境搭建,i.mx6 qt教程编译;qt交叉编译环境,配置qt交叉编译,arm qt编译qt编译arm的配置方法; 首先安装Qtcreator: sudo apt-get ...

    ubuntu 16.04配置qt5交叉编译环境的方法。配置qt的编译环境方法,linux下配置qt,配置linux qt的方法,imx6 qt交叉编译环境搭建,i.mx6 qt教程编译;

    qt交叉编译环境,配置qt交叉编译,arm qt编译qt编译arm的配置方法;

    • 首先安装Qtcreator:
      sudo apt-get install qtcreator
      安装成功之后,打开qtcreaotr,配置:
      tool -》 option:
      清楚你自己的交叉编译工具链的位置,比如,我的qmake位置:
      qmake loacation:opt/yogurt/i.MX6-PD15.3.0/sysroots/x86_64-yogurtsdk-linux/usr/bin/qt5/qmake
      你需要在QTcreator启动之后,设定“工具”->”选项”->“套件kit,编译器,version等选项卡”:
      complier path:/opt/yogurt/i.MX6-PD15.3.0/sysroots/x86_64-yogurtsdk-linux/usr/bin/arm-phytec-linux-gnueabi/arm-phytec-linux-gnueabi-g++
      platform linker flag:-march=armv7-a -mfloat-abi=hard -mfpu=neon -mtune=cortex-a9 –sysroot=/opt/yogurt/i.MX6-PD15.3.0/sysroots/cortexa9hf-vfp-neon-phytec-linux-gnueabi

    • 首先在终端type qtcreator,找出qt所在的地方;我的qt在我的ubuntu安装目录:
      type qtcreator
      qtcreator is /usr/bin/qtcreator
      cd /usr/bin/
      gedit qtcreator.sh

    • 由于我的工具SDK是基于imx6的,在sdk中有个source文件是设定编译环境的各个环境变量的,所以在qtcreator.sh脚本上面添加source,因为这样才可让source执行到qt,如果在bash中source xxxxx,只能对当前的seccession有用

    . /opt/yogurt/i.MX6-PD15.3.0/environment-setup-cortexa9hf-vfp-neon-phytec-linux-gnueabi
    保存退出;

    • 之后,在添加一个软连接:
      sudo ln -s /usr/bin/qtcreator.sh /usr/bin/qtcreator-arm
      之后,在终端中启动可以进行交叉编译的qtcreator:
      /usr/bin/qtcreator-arm
    展开全文
  • 嵌入式开发Ubuntu16.04 ARM/Qt 交叉编译环境搭建背景环境说明安装交叉编译工具下载Qt源码包编译Qt源码安装QtCreator配置QtCreator应用QtCreator交叉编译 Ubuntu16.04 ARM/Qt 交叉编译环境搭建 最近由于工作需要,...

    Ubuntu16.04 ARM/Qt 交叉编译环境搭建

    最近由于工作需要,接触到交叉编译,鉴于之前没有完整做过这方面的工作,记录一下。后续也会尽量把相关的内容都加入进来

    背景

    客户需求要在嵌入式环境中使用相机,这个相机之前有完整的windows版本SDK,嵌入式下面还没开发过,因此需要移植,目前考虑的主要问题就是环境搭建吧,代码理论上应该不需要改动或者改动比较小。客户用的开发板是toybrick-3399Pro,目前手上只有Firefly-RK3288,两个架构有所不同,前者是六核ARM 64位处理器(双核Cortex-A72+四核Cortex-A53),ARMv8指令集,后者是四核ARM 32位处理器(四核Cortex-A17),ARMv7-A指令集,对于交叉编译来说,就是32位和64位的区别。为了验证整个移植过程,先在Firefly-RK3288上跑通Qt Demo,然后再更换交叉编译工具,编好后给客户测试。
    (32位和64位会放在一起说明,不同的平台基本步骤是一样,如果是自己用,针对自己的平台处理一种就行了,没必要32位和64位都下载)

    环境说明

    服务器:虚拟机+ubuntu16.04 64位

    安装交叉编译工具

    所有操作都在root权限下进行。
    交叉编译安装方法有两种:可以直接apt-get安装,也可以自己下载源文件
    1、apt-get安装

    $sudo apt-get install gcc-arm-linux-gnueabihf
    $sudo apt-get install g++-arm-linux-gnueabihf
    

    这种安装方式,不需要手动添加环境变量,安装完成后,交叉编译工具会放在/usr/bin目录下

    2、手动安装
    如果无法用apt-get安装,提示:Unable to locate package gcc-arm-linux-gnueabihf,可以单独下载交叉编译器。
    下载地址:https://releases.linaro.org/components/toolchain/binaries/7.3-2018.05/
    这里面有很多版本,区别无外乎几个:大小端,Armv7/Armv8,32位/64位,裸机/Linux,具体如下表:
    在这里插入图片描述

    名称 syscall 指令集 大小端 位宽 description
    aarch64-linux-gnu linux ARMv8 little 64 aarch64 Linux Platform
    aarch64_be-linux-gnu linux ARMv8 big 64 aarch64 Linux Platform
    arm-linux-gnu-gnueabi linux ARMv7 little 32 arm EABI soft-float
    arm-linux-gnu-gnueabihf linux ARMv7 little 32 arm EABI hard-float
    armeb-linux-gnu-gnueabi linux ARMv7 big 32 arm EABI soft-float
    armeb-linux-gnu-gnueabihf linux ARMv7 big 32 arm EABI hard-float
    arm-eabi BareMetal ARMv7 little 32 arm EABI hard-float
    armeb-eabi BareMetal ARMv7 big 32 arm EABI soft-float
    aarch64-elf BareMetal ARMv8 little 64 armv8 EABI,hard-float

    对于32位arm平台下载
    gcc-linaro-7.3.1-2018.05-x86_64_arm-linux-gnueabihf.tar.xz.
    因为后面还有64位平台需要处理,所以还下载了64位的交叉编译工具
    gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.tar.xz.
    下载完成后,手动安装:

    $tar -xvf gcc-linaro-7.3.1-2018.05-x86_64_arm-linux-gnueabihf.tar.xz
    $mv gcc-linaro-7.3.1-2018.05-x86_64_arm-linux-gnueabihf.tar.xz arm-linux-gnueabihf-7.3.1 // 这里根据自己喜好重命名
    $sudo cp -rf arm-linux-gnueabihf-7.3.1 /opt  // 这个路径也是自定义的,后面把环境变量配成一致就行
    

    上面的操作是把压缩包,解压、重命名后,放到/opt目录下面,目录是可以自定义的。对于64位的工具,也是类似的操作,名字不要重复。

    $tar -xvf gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.tar.xz
    $mv gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.tar.xz aarch64-linux-gnu-7.3.1
    $sudo cp -rf aarch64-linux-gnu-7.3.1 /opt  
    

    安装完成后,还需要手动添加环境变量,修改/etc/bash.bashrc文件

       sudo vi /etc/bash.bashrc
    

    在最后加上

    PATH=$PATH:/opt/arm-linux-gnueabihf-7.3.1/bin
    

    对于64位工具:

    PATH=$PATH:/opt/aarch64-linux-gnu-7.3.1/bin
    

    这里的目录根据实际情况修改.
    执行以下命令立即生效:

    source /root/.bashrc
    

    测试是否安装成功:

    $arm-linux-gnueabihf-gcc -v
    $aarch64-linux-gnu-gcc -v
    

    如果正常获取到版本等信息,说明安装没有问题。

    下载Qt源码包

    因为后面要在开发板上跑qt程序,所以必须下载qt源码包,然后用交叉编译工具进行编译,才能得到在目标平台上可以运行的qt SDK
    我下载的是5.9.3版本
    链接: qt-everywhere-opensource-src-5.9.3.tar.xz.

    编译Qt源码

    1、定义Qt5.9.3的SDK路径
    编译前确定好SDK路径。因为我需要编译两个版本,所以,我建了两个目录, /opt/qt-5.9.3-arm用来存放32位的,/opt/qt-5.9.3-arm64用来存放64位的

    $sudo mkdir /opt/qt-5.9.3-arm
    $sudo mkdir /opt/qt-5.9.3-arm64
    

    2、修改qmake.conf
    对于32位平台:
    qt-everywhere-opensource-src-5.5.1/qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf
    对于64位平台:
    qt-everywhere-opensource-src-5.5.1/qtbase/mkspecs/linux-aarch64-gnu-g++/qmake.conf

           QMAKE_CC                = arm-linux-gnueabihf-gcc
           QMAKE_CXX               = arm-linux-gnueabihf-g++
           QMAKE_LINK              = arm-linux-gnueabihf-g++
           QMAKE_LINK_SHLIB        = arm-linux-gnueabihf-g++
           # modifications to linux.conf
           QMAKE_AR                = arm-linux-gnueabihf-ar cqs
           QMAKE_OBJCOPY           = arm-linux-gnueabihf-objcopy
           QMAKE_NM                = arm-linux-gnueabihf-nm -P
           QMAKE_STRIP             = arm-linux-gnueabihf-strip
           load(qt_config)
    

    将原内容的arm-linux-gnueabi交叉编译器换成自己的,
    32位平台换成 arm-linux-gnueabi
    64位平台换成aarch64-linux-gnu
    当然,如果你下载的是其他交叉编译器,换成你对应的平台交叉编译器即可。如果不知道如何修改,可在终端上输入aarch64-linux-gnu-gcc -v,打印出来信息中有一行Target:后面的内容替换上面原内容中的arm-linux-gnueabi即可。

    3、 执行Configure
    进入到源码目录

    $cd qt-everywhere-opensource-src-5.9.3
    $./configure -release -nomake examples -no-iconv -no-opengl -no-assimp -no-qt3d-profile-jobs -no-qt3d-profile-gl -xplatform linux-arm-gnueabi-g++ -prefix /opt/qt-5.9.3-arm -opensource -confirm-license
    

    这里,有很多配置项,简单说明下:
    -prefix选项后面的路径就是第一步中定义的Qt SDK路径,对于不同的平台,注意目录要对应
    -no-opengl -no表示不编译该模块
    删掉了opengl、Qt3D相关的库、examples,编译他们三个可能会导致编译失败
    还有一些参数,可以参考其它文章。configure参数说明

    4、 编译

    $sudo make -j4
    

    这里编译需要时间较久

    5、 安装
    $sudo make install
    如果上述过程均未报错,那么Qt SDK就编译完成了。

    安装QtCreator

    在虚拟机ubuntu上安装qtcreator。如果之前安装过,可以不用再安装,版本关系不大。
    下载安装包:
    qt-creator-opensource-linux-x86_64-4.5.2.run
    这个是linux64位桌面版的Qt,自带Qt Creator。把他复制到ubuntu中后,进入到文件目录,运行下面命令,图像化安装。

    ./qt-creator-opensource-linux-x86_64-4.5.2.run
    

    配置QtCreator

    将交叉编译工具配置到qt creator中,工具–>选项。
    1、配置编译器。
    手动添加GCC C和C++编译器,GCC(ARM)是我安装的32位的交叉编译工具,名称可以自己命令,路径指向交叉编译工具。如果是apt-get安装的,在/usr/bin目录下,如果是手动安装的,根据自己的实际路径去找
    123
    GCC(c++, arm 64bit)是我安装的64位的交叉编译工具
    在这里插入图片描述
    下面的C编译器也是类似的添加
    在这里插入图片描述
    在这里插入图片描述
    2、配置QtVersion。
    手动添加编译好的qt路径
    在这里插入图片描述
    在这里插入图片描述
    3、配置构建套件
    这里,我添加了两个,CROSS_ARMHF对应32位平台,CROSS_ARM64对应64位平台
    在这里插入图片描述
    在这里插入图片描述

    应用QtCreator交叉编译

    代码写好后,点击左下角编译,可以选择不同的编译工具,进行编译。
    在这里插入图片描述
    一般是先用Desktop Qt 5.8.0 GCC 64bit 编译成可以在ubuntu虚拟上直接运行的版本,看下功能是否正常,然后用交叉编译工具编译成不同目标平台的可执行文件即可。

    按照这个思路,最后编译出来的qt程序,在自己的rk3288平台和客户的rk3399平台上运行均正常。
    在这里插入图片描述
    如果文中有什么错误,欢迎留言指正,谢谢!

    展开全文
  • ARM-Linux Gcc 交叉编译环境搭建

    千次阅读 2019-01-19 08:16:34
    简单地安装linux-sunxi的交叉工具链,搭建交叉编译环境
  • arm-linux-gcc交叉编译环境搭建

    千次阅读 2019-05-20 15:37:02
    arm-linux-gcc交叉编译环境搭建下载编译工具上传交叉编译工具至ubuntu中 下载编译工具 这里下载arm-linux-gnueabihf-gcc(关于区别:交叉编译器 arm-linux-gnueabi 和 arm-linux-gnueabihf 的区别 上传交叉编译...
  • 交叉编译环境:在PC机(x86平台)上开发程序,在ARM板上运行,提高开发、编译速度。 环境: Tiny4412SDK1506开发板 需要软件: arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz  检测系统是否已经安装有交叉编译环境: ...
  • 【树莓派】交叉编译环境搭建

    千次阅读 2019-03-26 11:06:05
    PC环境 Ubuntu 18.04 VMware 虚拟机64位 搭建结果 成功 搭建步骤: (1)安装Git工具 sudo apt-get installgit ...(3)安装交叉编译工具 cd raspberrypi git clone git://github.com/raspberry...
  • 首先简单介绍一下,所谓的搭建交叉编译环境,即安装、配置交叉编译工具链。在该环境下编译出嵌入式Linux系统所需的操作系统、应用程序等,然后再上传到目标机上。 交叉编译工具链是为了编译、链接、处理和调试跨平台...
  • linux交叉编译环境搭建

    千次阅读 2017-02-17 23:42:39
    转载很好的交叉编译搭建,方便自己后期温习
  • 一、交叉编译环境搭建步骤 1、安装virtualbox、ubuntu虚拟机共享windows文件夹,注!virtualbox最好装在C盘,不然安装虚拟工具经常会失败。 2、新建共享目录,挂载共享目录到虚拟机中 sudo mount -t vboxsf ...
  • centos7 搭建arm交叉编译环境 1、下载交叉编译工具链 wget http://kan.027cgb.com/587712/gcc-linaro-arm-linux-gnueabihf-4-9-2014-07_linux-tar.xz 2、解压 解压到/opt目录下 xz -d gcc-linaro-arm-linux-...
  • XScale交叉编译环境搭建及MPlayer移植

    千次阅读 2008-03-07 09:06:00
    在google上找了一天,大部分的交叉编译环境搭建方法并不适用于此开发板。最后,终于发现了一个开源项目crosstool,利用此工具可以轻松搭建XScale,ARM7-ARM9,MK6800,POWERPC等环境的交叉编译环境。通过执行不同的...
  • 树莓派交叉编译环境搭建 for Mac

    千次阅读 2017-07-12 20:10:26
    树莓派交叉编译环境搭建 for Mac 2013-03-30 08:59 8218人阅读 评论(1) 收藏 举报 分类: Linux(29) Raspberry Pi(18) 目录(?)[+] made by Rk 本文由浙江大学《嵌入式...
  • iMX6 QT5交叉编译环境搭建for Yocto

    千次阅读 2019-01-19 10:15:48
    记录了从小白开始搭建的心路历程和方法,见我的个人博客,链接如下: 《iMX6 QT5交叉编译环境搭建for Yocto》
  • zynq交叉编译环境搭建

    2015-03-02 20:58:14
    在Vivado下完之前,先把Zynq的软件编译环境安装好,可以用来重新编译基于Zynq的Linux系统,同时能写基于Zynq的C程序(其实Vivado中的SDK也能实现)。下面是具体步骤:   1. 电脑原有XP,为了安装Zynq的交叉...
  • ​ 在一种计算机环境中运行的编译程序,能编译出在另外一种环境下运行的代码,我们就称这种编译器支持交叉编译。这个编译过程就叫交叉编译。 简单地说,就是在一个平台上生成另一个平台上的可执行代码。 这里需要...
  • codeSourcery 交叉编译环境搭建

    千次阅读 2018-08-22 10:21:02
    1.arm-none-linux-gnueabi-gcc下载 ...   arm-none-linux-gnueabi-gcc是 Codesourcery 公司(目前已经被Mentor收购)基于GCC推出的的ARM交叉...可用于交叉编译ARM系统中所有环节的代码,包括裸机程序、u-boot、Li...
  • Qt交叉编译环境搭建

    2016-10-19 21:40:49
    第一步:下载qt creator 拷贝到linux下,先chmod可执行权限 ...2、设置Qt交叉编译环境 首先设置qt-creator使其支持交叉编译 工具——选项——选择构建和运行——Qt版本——添加,这一步设置qmake的路径
  • 搭建交叉编译环境2.1设置qmake2.2设置编译工具链2.3设置构建套件(Kit)3.QTCreate载入项目3.1选择构建套件(Kit)进行编译3.2编写配置文件.pro3.3编译生成Makefile和应用程序4.小机端测试 1.安装QTCreate 下载路径:...
  • TQ2440交叉编译环境搭建~ 背景:  OS:UBUNTU10.10  交叉工具链从TQ官网下载  linux使用2.6.30.4源码 1)TQ2440的光盘上的 交叉编译工具按照 指导书上减压即可 ;  sudo tar vxjf EABI-4.3.3_...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 14,170
精华内容 5,668
关键字:

交叉编译环境的搭建方法