如何在树莓派3安装qt5上安装 QT 编译器

接着上篇 "",我们已经成功在Windows上交叉编译了Raspberry Pi的嵌入式Qt 5.5。那么我们就可以开始开发基于Qt 5的应用程序。接下来,我们需要在Windows上搭建必要的Qt开发工具,首当其冲就是官方的Qt Creator,不仅提供了原生的C++编辑器,Qt界面设计器,而且还可以集成现有的 Qmake, gcc 甚至于Visual Studio C++编译器来配置编译Qt项目,自带的QML解释器可以快速的将QML内容翻译成代码并集成子啊项目中;而且利用自带的GDB可以进行代码运行时调试。
下面,我们就利用Windows平台上的Qt Creator与我们已经准备好的树莓派中的 Qt 5.5 来集成开发基于Raspberry Pi的Qt Embedded应用程序。过程中,我们需要交叉编译Raspberry Pi版的GDB用于远程调试。
1. 准备工作
Qt Creator for Windows:
或者我们也可以下载安装&Qt 5.5.1 for Windows 32-bit (MinGW 4.9.2):里面已经带了Qt Creator
当然,我们也可以选择Qt for Windows (VS编译版本)
安装Qt for Windows,我们可以注册一个Qt账号,然后选择安装目录并继续。
2. 配置编译环境
安装完成后,打开Qt Creator。在Creator中的项目,类似于 Xcode,我们需要配置好多种目标环境,不同的项目需要配置指定目标环境,就可以针对目标编译生成。
打开Tools -& Options...
选择Devices,点击Add..增加一个Generic Linux Device,然后Start Wizard,填入设备名字,网络地址以及用户名密码等。
完成后,会自动开始测试设备连接。
然后我们可以开始配置Build & Run,选择Qt Versions,添加一个Qt Version,选择我们之前编译好的Windows下的qmake:
然后添加一个Compiler,选择Compilers选项卡,Add.. 一个MinGW类型的编译器,选择&sysgcc&\Raspberry\bin\arm-linux-gnueabihf-g++.exe
添加一个CMake,&sysgcc&\Raspberry\bin\make.exe
好了,最后我们就需要配置出一个Kit,包含一个目标环境所需要的qmake,设备,CMake,以及配置文件。点击Kits选项卡:
Device type:Generic Linux Device
Device:选择你刚才新建的设备
Sysroot:&sysgcc&\Raspberry\arm-linux-gnueabihf\sysroot
Compiler:选择新建的编译器
Qt version:选择Raspberry Pi的Qt
Qt mkspec:&sysgcc&\Raspberry\arm-linux-gnueabihf\sysroot\usr\local\qt5\mkspecs\devices\linux-rasp-pi2-g++
CMake Tool:选择新建的CMake
保存新的Kit配置。
因为Qt Creator的Debugger GDB需要有Python支持,但是MinGW中提供的GDB均没有支持Python,所以我们目前无法指定Debugger,需要之后交叉编译一个Raspebrry Pi支持的GDB with Python才可以作为Debugger来调试。
3. 新建Qt for Raspberry Pi项目并编译测试
点击 File -& New File or Project,打开新建项目向导,选择Qt Widgets项目模板,填入项目名称,务必在Kit Selection中选择才新建的Kit环境。
完成代码后,我们可以通过左下侧的编译运行按钮直接编译输出到Raspberry Pi
目前我们只能使用Run,还无法使用调试器。我们可以打开Qt Examples中的项目来进行测试。
阅读(...) 评论() &重生篇 – 树莓派 Raspberry Pi Model B+ 入手折腾记 (5) | LT匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。Qt在树莓派上的移植
作者:嵌入式系统开发者之家 微信公众号
本文主要介绍如何将Qt类库及Qt应用程序移植到基于ARM的树莓派嵌入式平台上。前言Qt是一个1991年由奇趣科技开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序。Qt已经成为Linux下开发GUI应用程序的一把利器。Raspberry Pi 英国剑桥大学埃本·阿普顿(Eben Epton)正式发售世界上最小的台式机,又称卡片式电脑,外形只有信用卡大小,却具有电脑的所有基本功能,这就是Raspberry Pi电脑板,中文译名"树莓派"。操作系统采用开源的Linux系统,比如Debian、ArchLinux,自带的Iceweasel、KOffice等软件能够满足基本的网络浏览,文字处理以及计算机学习的需要,分A,B两种型号.树莓派基金会提供了基于ARM的Debian和Arch Linux的发行版供大众下载。还计划提供支持Python作为主要编程语言,支持Java、BBC BASIC (通过 RISC OS 映像或者Linux的"Brandy Basic"克隆)、C 和Perl等编程语言.树莓派板载资源网卡 : BroadcomBCM2835(CPU,GPU,DSP和SDRAM,USB)CPU: ARM1176JZF-S核心(ARM11系列)700MHzGPU:
Broadcom VideoCrore IV,OpenGL ES 2.0,1080p 30 h.264/MPEG-4 AVC高清解码器内存: 512MByteUSB 2.0接口 个数:2(支持USB hub扩展)影像输出:Composite RCA(PAL & NTSC),HDMI(rev 1.3 & 1.4),raw LCD Panels via DSI 14 HDMI resolution from 640x350 to
plus various PAL andNTSC standards音源输出:3.5mm插孔,HDMI板载存储:SD/MMC/SDIO卡插槽网络接口:10/100以太网接口外设:8xGPIO、UART、I2C、带两个选择的SPI总线,+3.3V,+5V,ground(负极)额定功率:700mA(3.5W)电源输入:5V / 通过MicroUSB或GPIO头总体尺寸:85.60 x 53.98 mm(3.370 x 2.125 in)操作系统:Debian GNU/linux,Fedora,Arch Linux ARM,RISC OS, XBMC需要的软件资源与硬件设备系统镜像: -raspbian-wheezy.imgQT交叉编译器: gcc-4.7-linaro-rpi-gnueabihfQT5源码: qt-everywhere-opensource-src-5.4.1gcc 交叉编译工具:cross-compile-tools-master烧写工具:win32_disk_imager.zip (windows 下运行)SD 存储卡使用的操作系统ubuntu12.04
32位操作系统搭建移植环境创建工作目录:$sudo mkdir
(将所有的工具放在这个目录下面以便于后期查找)创建挂载目录:$sudo mdkir /mnt/rasp-pi-rootfs挂载Raspbian Pi 文件系统:$sudo mount -o loop,offset=5-05-05-raspbian-wheezy.img /mnt/rasp-pi-rootfscd 到挂载目录上就可以看见 raspbian的文件系统,说明已经挂载成功.这里使用的QT5的源码是远程克隆过来的,可以执行以下命令:$git clone git://code.qt.io/qt/qt5.git通过这个命令只是将qtbase的源码下载了下来,还需要执行下面的脚本获取其他模块的源码:$./init-repository执行脚本搭建交叉编译环境:$ cd ~/opt/cross-compile-tools$ sudo ./fixQualifiedLibraryPaths /mnt/rasp-pi-rootfs/ ~/opt/gcc-4.7-linaro-rpi-gnueabihf/bin/arm-linux-gnueabihf-gccQt5源码的配置与交叉编译Qt5 configure 的文件配置:$./configure -opengl es2 -device linux-rasp-pi-g++ -device-option CROSS_COMPILE=~/opt/gcc-4.7-linaro-rpi-gnueabihf/bin/arm-linux-gnueabihf- -sysroot /mnt/rasp-pi-rootfs -opensource -confirm-license -optimized-qmake -reduce-exports -release -make libs -prefix /usr/local/qt5pi -hostprefix /usr/local/qt5pi以上执行完成后在执行下列命令进行编译和安装:$make -j4$make install这里所有依赖于QT编译的库已经做好了,为了防止编译冲突我们将按照以下顺序编译其他模块:qtimageformats, qtsvg, qtjsbackend, qtscript, qtxmlpatterns, qtdeclarative, qtsensors, qt3d, qtgraphicaleffects, qtjsondb, qtlocation, qtdocgallery.将以上的模块编译完成后依次安装,这里举一个例子进行说明:$ cd qtimageformats$ /usr/local/qt5pi/bin/qmake . (此时qmake 已经放在/usr/local/qt5pi/bin
下面)$make -j4$make install系统烧入将系统卸载/mnt/rasp-pi-rootfs$ sudo umount
/mnt/rasp-pi-rootfs将这个镜像考入到U盘当中,在windows 下解压win32_disk_imager.zip 这个文件,将SD卡进行格式化后进行烧入在ubuntu 下直接烧入可执行以下命令:$ sudo dd bs=1M if=-wheezy-raspbian.img of=/dev/ syncQT 可执行程序的交叉编译将QT编写的程序源码放入ubuntu 当中,然后启动qmake 生成makefile 文件,qmake 的执行命令:$/usr/local/qt5pi/bin/qmake .最后执行make 可执行程序编译成功,在bin下可以将可执行文件考出,放在板子上运行。注:如果是编译QT可执行程序,必须将安装好的QT的镜像文件挂载到/mnt/rasp-pi-rootfs 下,因为所有QT 依赖库都安装在镜像当中。可能出现的问题linux下编译器位数不一致的问题:所用系统可能是64位系统,但是Raspbian PI 是32位的系统,交叉编译后可能不能正常运行:解决方法:安装支持32位编译:$ sudo apt-get install ia32-libsqt5 执行./init-repository 这个脚本的时候出现错误:可以通过以下命令进行重新下载:$ ./init-repository -f在配置QT 的配置文件的时候出现右图的问题原因是因为没有安装build-essential:执行以下命令来解决这个问题:$sudo apt-get insatll build-essential如何分享到朋友圈点击右上角“...” 三个点,在弹出菜单选择“分享到朋友圈”“嵌入式系统开发者之家”订阅号微信名:嵌入式系统开发者之家戏说嵌入式系统开发!关注我们,让你的嵌入式之旅轻松+愉快!
相关微信文章:
相关推荐:
本网站所有内容均采集自网络,如有侵权麻烦邮箱联系删除。环信谢雅杰:Ubuntu实现树莓派交叉编译
 作者: 陕西分站 编辑:
  【IT168 资讯】一、交叉编译  在一个平台上生成另一个平台上的可执行代码。为什么要大费周折的进行交叉编译呢?一句话:不得已而为之。有时是因为目的平台上不允许或不能够安装所需要的编译器,而又需要这个编译器的某些特征;有时是因为目的平台上的资源贫乏,无法运行所需要的编译器;有时又是因为目的平台还没有建立,连都没有,根本谈不上运行什么编译器。  要进行交叉编译,我们需要在主机平台上安装对应的交叉编译工具链(cross compilation tool chain),然后用这个交叉编译工具链编译源代码,最终生成可在目标平台上运行的代码。常见的交叉编译例子如下:1、在Windows PC上,利用ADS(ARM 开发环境),使用armcc编译器,则可编译出针对ARM 的可执行代码。2、在Linux PC上,利用arm-linux-gcc编译器,可编译出针对Linux ARM平台的可执行代码。3、在Windows PC上,利用cygwin环境,运行arm-elf-gcc编译器,可编译出针对ARM 的可执行代码。  二、名词解释Linux下的大多数软件包都使用Autoconf/Automake工具自动生成Makefile,只要使用“./configure”,“make”,“make install”就可以把程序安装到Linux系统中去了。编译第三方源代码时,可以看下工程中的readme和install文件,一般情况下都会写编译步骤。1、./configure&常用参数  [--build] | [--host] | [--target] | [--prefix] | [--help]注意:host和--host不是一个意思,host是指宿主机,即编辑和编译程序的平台,是个名词;--host是设置执行文件所运行的主机,是个动词。&&&./configure: 用来生成对应的 Makefile;&& --build: 执行代码编译的主机,正常的话就是你的主机系统。若无指定使用host的值;&& --host: 编译出来的二进制程序所执行的主机,&交叉编译工具链的前缀。因为绝大多数是如果本机编译就本机执行,所以这个值就等于build。但是交叉编译的时候build和host需要设置不同值,用host指定运行主机,即host != build的时候编译才是交叉编译。若无指定将会运行`config.guess'来检测;&&&--prefix:&安装目录,比如 --prefix=/usr 意思是将该软件安装在 /usr下面,执行文件就会安装在 /usr/bin (而不是默认的 /usr/local/bin),资源文件就会安装在 /usr/share(而不是默认的/usr/local/share);&&&--help: 查看参数;&&& --target: 这个参数比较特殊,表示需要处理的目标平台名称,主要在程序语言工具如编译器和汇编器上下文中起作用,若无指定使用host的值。一般用来编译工具,比如给arm开发板编译一个可以处理mips程序的gcc,那么--target=mips;&&&& 举例说明:编译gcc&& ./configure&--build=i386-linux&--host=arm-linux --target=mipsel-linux&--prefix=$(pwd)/_install用i386-linux的编译器进行gcc的编译,编译出的gcc运行在arm-linux, 编译结果存放到$(pwd)/_install路径下,编译出的gcc用来编译能够在mipsel-linux下运行的代码。2、Makefile包含了一些基本的预先定义的操作:&&make: 根据Makefile编译源代码,连接,生成目标文件,可执行文件;&&make clean: 清除上次的make命令所产生的object文件(后缀为“.o”的文件)及可执行文件;&&make distclean: 类似make clean,但同时也将configure生成的文件全部删除掉,包括Makefile;&&make test / make check: 检查make,确保make没有出错,一般在make install之前执行;&&make install: 将编译成功的可执行文件安装到指定目录中,一般为/usr/local/bin目录;&&make dist: 产生发布软件包文件(即distribution package)。这个命令将会将可执行文件及相关文件打包成一个tar.gz压缩的文件用来作为发布软件的软件包。它会在当前目录下生成一个名字类似“PACKAGE-VERSION.tar.gz”的文件。PACKAGE和VERSION,是我们在configure.in中定义的AM_INIT_AUTOMAKE(PACKAGE, VERSION);&&make distcheck: 生成发布软件包并对其进行测试检查,以确定发布包的正确性。这个操作将自动把压缩包文件解开,然后执行configure命令,并且执行make,来确认编译不出现错误,最后提示你软件包已经准备好,可以发布了;三、交叉编译源代码1、环境Ubuntu2、树莓派交叉编译工具安装step1. 下载树莓派交叉编译工具step2. 将源码放到各用户都能share的文件夹下,如/usr/toolsstep3. 将交叉编译工具的路径加到环境变量中,为了以后启动不用再设置,我加到了bashrc中step4. 检测是否安装成功way1:&显示以下内容way2:注意:交叉编译时,如果出现arm-linux-gnueabihf-XXX找不到,确定arm-linux-gnueabihf-XXX -v 是否能输出正确信息,如果能,可以切到root下进行编译三、编译源代码1、在写编译脚本时,一定要确保编译器写的是交叉编译的编译器。比如比较常用的Makefile,其中的CXX必须是arm-linux-gnueabihf-g++才能编译出正确的在树莓派上的可执行文件。2、编译第三方库如果你想设置全局的CC和CXX变量,在每次打开一个新的Terminal时,输入以下命令:其他的全局变量同上。以下列几个常用的第三方库交叉编译步骤1&& sqlite3&&sqlite-autoconf-3081002.tar.gzstep1: &make cleanstep2: &./configure --host=arm-linux-gnueabihf --prefix=/usr/local/tools/sqlite3step3: &makestep4: &make install2&&curl&&&curl-7.43.0.tar.gzstep1: &make cleanstep2: &./configure --host=arm-linux-gnueabihf --prefix=/usr/local/tools/curlstep3: &makestep4: &make install3&&&openssl:&&openssl-1.0.1p.tar.gzstep1: ./config no-asm shared --prefix=/usr/local/tools/opensslstep2: &a、修改Makefile CC=arm-linux-gnueabihf-gcc&    b、找到有-m64的地方,将-m64删除。&&step3: makestep4: make install
大学生分期购物销量榜
IT168企业级

我要回帖

更多关于 树莓派安装qt opencv 的文章

 

随机推荐