基于linux-ARM的QT环境搭建
- 格式:doc
- 大小:89.00 KB
- 文档页数:10
在Linux操作系统上进行Qt开发随着计算机科学和技术的迅速发展,软件开发在我们日常生活中扮演着越来越重要的角色。
而在软件开发领域中,Qt框架是一个备受推崇的选择。
1. 简介Qt是一种跨平台的应用程序开发框架,可以在Linux、Windows和Mac等操作系统上进行开发。
它提供了丰富的工具和库,使开发者能够轻松构建出跨平台的应用程序。
2. Linux操作系统Linux是一种自由开源的操作系统,它以其稳定性和安全性而闻名。
对于Qt开发来说,Linux提供了一个理想的开发环境。
2.1 安装Qt首先,我们需要在Linux操作系统上安装Qt。
可以从Qt官方网站下载适用于Linux的Qt安装程序,并按照提示进行安装。
2.2 配置开发环境安装完成后,我们需要配置Qt开发环境。
在终端中输入以下命令,将Qt添加到系统路径中:```export PATH=$PATH:/path/to/qt/bin```这样,我们就能够在任何位置运行Qt开发工具。
3. Qt开发工具Qt提供了一系列开发工具,使我们能够高效地进行软件开发。
3.1 Qt CreatorQt Creator是一个集成开发环境(IDE),具有代码编辑、调试和构建等功能。
它提供了一个直观的界面,使我们能够轻松创建和管理项目。
3.2 Qt DesignerQt Designer是Qt的可视化界面设计器,可帮助我们设计GUI界面。
它提供了丰富的界面组件和布局工具,使我们能够快速创建出漂亮的界面。
4. Qt应用程序的创建和编译在Qt Creator中,我们可以创建一个新的Qt项目。
选择适当的项目模板,并按照向导的指示进行配置。
在项目中,我们可以使用C++或Qt自身的脚本语言QML进行编码。
在代码编写完成后,我们可以使用Qt Creator进行编译和构建。
它会自动处理依赖关系,并生成可执行文件。
5. 调试和测试在Qt Creator中,我们可以使用调试器进行调试。
它提供了断点、变量监视和堆栈跟踪等功能,帮助我们追踪和修复程序中的错误。
linux ubuntu X86和ARM平台QT安装步骤Linux ubuntu 平台:3种方式1、直接安装:sudo apt-get install libqt4-dev qtcreator(最好)2、源代码安装,一般不用3、sdk安装:下载sdk:sudo apt-get install libglib2.0-dev libSM-dev libxrender-dev libfontconfig1-dev libxext-devARM平台:1、安装交叉工具链,能够使用arm-linux-gnu-gcc命令编译如4.1.1版本的:mkdir /opt/crosstooltar -jxvf 路径/4.1.1_softfloat_withlib.tar.bz2 -C /opt/crosstool //将编译工具解压到crosstool中。
配置环境变量,当用arm-linux-gnu-gcc 编译程序时能够找得到此文件所在的目录例:vim /home/farsight/.bashrc在末尾添加:export PATH=$PATH:/opt/crosstool/4.1.1/bin2、看 4.1.1/arm-linux-gnu/lib下是否有zlib,libjpeg,libpng,freetype库文件如果没有,安装:以zlib为例:从下载源码tar -jxvf xxx/zlib-1.2.5.tar.bz2cd zlib-1.2.5CC=arm-linux-gnu-gcc AR=arm-linux-gnu-ar RANLIB=arm-linux-gnu-ranlib LD=arm-linux-gnu-ld ./configure --prefix=/opt/crosstool/4.1.1/arm-linux-gnumakemake install其他的网址是:安装步骤和上面一样3、Qt默认的ARM交叉编译器是:arm-linux-开头的,但是系统开始安装的是arm-linux-gnu开头的,所以要改qt源码:例:vim qt-everywhere-opensource-src-4.6.3/mkspecs/qws/linux-arm-g++/qmake.conf在arm-linux-后加个gnu,例:arm-linux-gnu-gcc...4、qt配置细微配置:编译qconfig,用qconfig执行相应的文件cd qt-everywhere-opensource-src-4.6.3/tools/qconfigqmakemakesudo cp qconfig /usr/bincd qt-everywhere-opensource-src-4.6.3/src/corelib/global qconfig qfeatures.txt...粗配置:使用./configure --help5、安装文件。
linux qt 开发流程Linux Qt是一种开发平台,它能让开发者们在Linux操作系统上轻松创建跨平台的图形界面应用程序。
为了保证一个高效和顺畅的开发过程,以下是Linux Qt开发的一般流程:1. 安装Qt框架:首先,您需要在Linux系统上安装Qt开发环境。
您可以从Qt官方网站下载并安装适合您平台的Qt版本。
2. 创建项目:在开始任何Qt开发之前,您需要创建一个新的Qt项目。
通过Qt Creator或者使用终端命令创建一个新的项目目录。
3. 编写代码:使用Qt Creator或者您喜欢的文本编辑器,打开项目文件并开始编写代码。
Qt使用C++语言开发,所以您需要熟悉C++编程语言。
在编写代码时,您可以使用Qt提供的丰富的类和库来创建界面和处理用户交互。
4. 设计用户界面:在Qt Creator中,您可以使用可视化设计器来设计应用程序的用户界面。
通过拖放方式选择和布置UI元素,然后通过属性编辑器设置各个元素的属性和样式。
您也可以使用Qt的布局管理器来自动调整UI元素的大小和位置。
5. 编译项目:完成代码编写和界面设计后,使用Qt Creator或者终端命令进行项目编译。
Qt提供了一个强大的构建系统,名为qmake,它可以根据项目文件自动配置和管理编译过程。
6. 调试和测试:在编译成功后,您可以使用Qt Creator提供的调试工具对应用程序进行调试。
您可以设置断点、观察变量和执行单步调试来定位和解决代码中的问题。
此外,您还可以编写单元测试来确保代码的正确性和稳定性。
7. 运行和部署:一旦应用程序编译和调试完成,您可以在Linux上运行应用程序来测试其功能。
如果一切正常,您可以使用Qt提供的工具将应用程序打包为可执行文件或者创建Linux安装包。
这样您就可以轻松地部署和分享您的应用程序。
通过按照上述流程进行开发,您可以利用Linux Qt轻松开发出高性能、跨平台的图形界面应用程序。
希望这些信息对您有所帮助,祝您在Linux Qt开发中取得成功!。
QT交叉编译环境QT交叉编译环境2010-05-06 22:39QT4终端安装步骤:一、系统更新更新管理器进行二、1、在终端下对输入下列命令对QT4进行安装。
1、apt-get install build-essential。
2、apt-get install qt4-dev-tools qt4-docqt4-qtconfig qt4-demos qt4-designer。
3、apt-get install qdevelop。
三、交叉编译环境3.4.1(这是ARM-LINUX交叉编译环境和QTQTEmbedded-4.4.3有区别)1.回到根目录:cd/2.在根目录下输入cd/tmp tar xvzf arm-linux-gcc-3.4.1.tgz-C/(该文件能直接解压到/usr/local/arm/3.4.1/bin)3.gedit/root/.bashrc(打开.bashrc文件在最后一行输入下面的内容)4.export PATH=$PATH:/usr/local/arm/3.4.1/bin(设置环境变量)5.arm-linux-gcc-v(查看gcc版本)四、安装编译QT4/EMBEDDED 1、拷贝文件local.tar.gz QTEmbedded-4.4.3.tar.gz到usr/local下。
对两个文件进行解压缩。
2、删除usr/local目录下的bin,etc,include,lib四个文件。
3、拷贝解压文件local里面的bin,etc,include,lib四个文件到usr/local目录下,删除local.4.进入usr/sbin 5.ln-s/usr/local/QtEmbedded-4.4.3/bin/qmake tmake//生成qmake的快捷方式tmake下面就可以使用tmake对qt源代码进行编译生成arm体系代码五、编译QT4应用程序cd/root/learn/qt/hello进入源程序所在的目录qmake-qt4-project qmake-qt4 make进行编译./helloqt执行该指令可以看到可视化的运行结果需要到达进行交叉编译的文件下使用tmake(是qt的bin目录下生成的qmake的快捷方式)tmake-project(生成makefile文件)tmake hlqhello.pro make(生成arm可执行文件)注意:复制别人的文件后应该先删除先前生成的文件,然后再进行上面的操作。
Qt嵌入式开发环境搭建一、Qt版本介绍按照不同的图形界面来划分,分为四个版本:1、Win32版:适用于windows平台2、X11版:适用于各种X系统的Linux和Unix平台3、Mac版:适用于苹果的MacOS4、Embedded版:适用于具有帧缓冲(Frame buffer)的linux 平台Qtopia是基于qt开发的一个软件平台,Qtopia是构建于Qt/E 之上的一系列应用程序,在这个平台上我们可以开发各种应用程序。
2008年,TrollTech公司被Nokia收购后,Qtopia被重新命名为Qt Extended。
Nokia在推出了Qt Extended的最新版Qt Extended 4.4.3之后的2009年3月3日,决定停止Qt Extended的后续开发,转而全心投入Qt的产品开发,并逐步会将一部分Qt Extended 的功能移植到Qt的开发框架中。
所以总的来说,QT也就三种:面向桌面的x11、面向嵌入式的Qt/E、以及面向嵌入式带各种应用程序的Qtopia桌面系统二、比如是Qt的各种版本介绍1、Qt的安装程序(包含了QtCreator,QtAssistant)Windows--x86--msvc2012_64_opengl :表示window平台,msvc2012可以与VS2012进行结合使用,64位应用程序,要求电脑装的是64位操作系统;opengl表示支持openGL的绘图模式Windows--x86--mingw48_opengl :window平台下的mingw48编译器进行编译。
2、Qt的库的源码包3、Qt安装包的下载网址:如果想下载Qt的以前版本,可以在上面网址的最下面的一栏有个Archive for old versions ,进去就可以下载qt的以前版本了。
三、嵌入式Qt开发环境的搭建1.预备知识,嵌入式qt开发环境的安装方法很多,qt的版本也很多。
有点让人不知所措,不知该按哪种方法去安装。
Windows平台交叉编译ArmLinux平台的QT5.7库我的环境:ubuntu14.04 64位1.下载Qt:上⽹搜索 qt-opensource-linux-x64-5.3.0.run下载有好多百度云盘qt-opensource--x64-5.6.1.run这个.run⽂件既包含了SDK也包含了IDE:QtCreator不⽤⾃⼰再编译好⼏个⼩时了2.安装Qt::1下载完⼀般在Download⽬录下$ cd ~/Downloads给⽂件运⾏权限$ chmod u+x qt-opensource-linux-x64-5.3.0.run运⾏./qt-opensource-linux-x64-5.6.1.run3.配置环境变量如果进⼊到QtCreator所在⽬录下是可以运⾏QtCreator的,但每次都这样会很⿇烦,可以将其加⼊到系统环境变量#vim /etc/profile 后⾯那个⽂件就是存放环境变量的,如果没有取得root权限这个⽂件是只读的,所以要想修改它就要先取得权限(我⽐较菜也⽐较懒直接先#su了,后⾯也不⽤#sudo xxx了)在⽂件中添加1 2 3 4export QTDIR=/opt/Qt5.3.0/Tools/QtCreatorexport PATH=$QTDIR/bin:$PATHexport MANPATH=$QTDIR/man:$MANPATHexport LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH其中/opt/Qt5.3.0是我的Qt的安装⽬录$ source /etc/profile 使修改的环境变量⽣效运⾏1# /opt/Qt5.3.0/Tools/QtCreator/bin/qtcreator电脑的qt creator已经安装好了,下⾯配置交叉编译环境参考友善之臂⼿册安装交叉编译⼯具Step1:1$ tar xvzf arm-linux-gcc-4.5.1-v6-vfp-20101103.tgz -C /注意: C 后⾯有个空格,并且 C 是⼤写的,它是英⽂单词“ Change”的第⼀个字母,在此是改变⽬录的意思。
Linux环境下搭建Qt5.9开发环境在Linux环境下搭建Qt开发环境有两种⽅式:⼀种是图形界⾯的安装,另⼀种是源代码的安装。
下⾯,分别就这两种安装⽅式进⾏说明。
⼀、图形界⾯的安装。
1、在下载Qt安装包,这⾥下载最新(2017.06.18)的版本qt-opensource-linux-x64-5.9.0.run 注意Qt5.9.0 linux版本的只有64位。
2、下载完后,可以看到⽂件的后缀名应该是.run。
然后执⾏如下命令:chmod +x qt-opensource-linux-x64-x.x.x.run(⽂件名按⾃⼰所下载的⽂件来决定)说明:该命令是为了给为Qt安装包赋予可执⾏的权限。
3、然后再执⾏如下命令:./ qt-opensource-linux-x64-x.x.x.run或者双击安装⽂件,即可启动该⽂件。
此时会弹出图形化的安装界⾯,之后的操作就跟Windows下安装软件相类似。
需要说明的是:qt-opensource-linux-x64-x.x.x.run包中包含了QtCreator可视化的开发⼯具,在安装完后,找到安装⽬录下的Tools/QtCreator/bin⽬录下发现有QtCreator可执⾏⽂件,该⽂件就是Qt可视化的开发⼯具。
⼆、源代码的安装。
1、在进⼊版本/次版本/single例如5.9/5.9.0/single下载Qt源代码,⼀般会选择qt-everywhere-opensource-src-x.x.x.tar.gz。
2、拷贝⽂件到⾃⼰想要的⽂件夹,再执⾏如下命令:tar zxvf qt-everywhere-opensource-src-x.x.x.tar.gz说明:该命令是将源代码⽂件解压缩到当前⽂件夹。
3、进⼊解压后的⽂件⽬录,执⾏如下命令:./configure进⾏配置,也可以加上配置前缀:./configure -prefix /xxx使⽤这样的命令的话,后⾯编译过程中产⽣的⽂件会复制到/xxx 这个⽬录下(⽬录不存在会⾃动创建),该⽅法的好处是源码便于管理。
ARM开发之QT平台搭建---基于Linux系统的ARM平台QT移植第一部分:移植前述现在ARM行业如火如荼,使用linux作为操作系统的也较多,本文只针对ARM和linux平台下的QT移植和程序测试做一翻详解,对于wince等系统不涉及。
ARM开发的话必须具备以下硬件或平台条件:1.ARM硬件开发板,现在处理器用的多是ARM9或者ARM112.针对嵌入式行业的Linux系统内核,以及PC机上的Linux系统开发环境,比如Ubuntu,Redhat,CentOs等3.ARM软件开发环境,这个比较复杂多样。
ARM开发无非是底层驱动移植和开发,以及顶层的应用程序开发,还有相对应的各种调试。
不管是开发还是调试,都要用到相对应的工具或软件。
驱动开发的领域本文不涉及,而顶层应用程序开发的一个重要环节就是面向客户的图形界面开发,而图形界面开发嵌入式领域用的比较多的是QT。
Qt是诺基亚开发的一个跨平台的C++图形用户界面应用程序框架。
它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。
Qt是完全面向对象的,很容易扩展,并且允许真正地组件编程。
4.应用程序在pc机上开发,完成后希望在ARM板上调试,以确认程序的正确性和完整性等,这时应该如何办呢?这里面涉及的知识比较多,有:开发板引导启动文件Uboot;Linux内核镜像的烧写;交叉编译;搭建QT开发环境;开发板与PC机Linux系统的NFS挂载连接;再就是QT 程序在线测试等。
上述中交叉编译之前的所有操作本文不涉及,读者如有不明之处请另找资料,本文意在构建一个QT开发环境,和使用开发板通过NFS挂载后的QT应用程序测试环境。
第二部分:QT移植具备条件ftp:///qt/source/1.交叉编译器:版本较多,现在常用的是arm-linux-gcc-4.3.2.或者arm-linux-gcc-4.1.22. QT版本:qt-embedded-linux-opensource-src-4.5.3.tar.gz和qt-x11-opensource-src-4.5.3.tar.gz,可以从QT官网上下载各种版本(注:开发QT的公司已被诺基亚公司收购)官网地址:/2.触摸屏支持tslib3.Linux系统上的一些编译工具或者库说明:(1)交叉编译工具是在QT库安装时要用到它来编译,然后QT应用程序调试时需要要到它编译成ARM板上能运行的代码。
(2)qt-embedded-linux-opensource-src包含了支持最终到ARM开发板上运行的应用程序的库文件,而qt-x11-opensource-src则是为了能在PC机上进行针对ARM板环境的模拟程序调试,比如说没有开发板的时候,但又想验证能否在ARM板上运行,此时需要用到。
(3)tslib则是用来校准触摸屏用的,触摸数据最先由开发板上驱动程序得到,(驱动已经加载到内核中),然后传递给tslib,tslib将原始数据进行一定去抖,校准等工作,然后把数据传给顶层应用程序,我是这样理解的,不知道正确否。
第三部分:QT移植详情注:此移植过程在Ubuntu9.04系统下完成带#开头的表示终端运行的命令带//开头的表示注释红色字体表示应该特别注意的地方我的移植环境1.开发板:友坚恒天公司的s3c64102.PC机系统windos xp3.PC机上装Vware虚拟机系统:Ubuntu9.044.交叉编译工具:arm920t-eabi-4.1.2.tar.gz5.Qt版本:qt-embedded-linux-opensource-src-4.5.3.tar.gz6.触摸屏校准:tslib1.4.tar.gz第一步:安装交叉编译工具(解压就行,然后设置一个环境变量)先将arm920t-eabi-4.1.2.tar.gz拷贝到/home/resource下,然后解压到根目录#cd /home#mkdir resource# cd /home/resource# tar zxvf arm920t-eabi-4.1.2.tar.gz –C /注:zxvf是解压参数,-C是改变解压路径,/表示到根目录完成后在它的安装路径是:/opt/toolchains/arm920-teabi/,可以查看到。
为了后续QT安装能够调用arm-linux-gcc等命令,需要设置环境变量# gedit /etc/bash.bashrc (手动以记事本打开一样的,后续同理)//添加linux系统环境变量在该文件的末尾加上export PATH=$PATH:/opt/toolchains/arm920-teabi/bin保存关闭# source /etc/bash.bashrc#arm-linux-gcc –v //查看编译器版本注:1.至于安装路径选择哪里,可以自己定,但是之后的环境变量设置就一定要跟你的安装路径对应好。
就比如说我的是/opt/toolchains/arm920teabi/,在该目录下有一个bin目录,里面你可以查看到一些arm-linux-gcc等命令,那如果你更换了路径,则一样要找到那个bin目录,然后设置环境变量。
若能通过arm-linux-gcc –v命令查看到该交叉编译器的版本,则表示安装完成,并且环境变量设置成功。
2.不同的交叉编译工具默认的安装路径是不同的,比如说arm-linux-gcc-4.3.2的默认安装是在/usr/local/arm/下,这个自己知道就行,关键是环境变量要设好。
第二步:安装tslib(解压并安装,然后设置配置文件)注:此步需要一些工具,ubuntu 下需要安装automake、autoconf、libtool,可以执行下面语句安装#apt-get install automake autoconf libtool注:tslib是支持触摸品用的,触摸屏最终能够使用的条件是:a.硬件支持触摸屏b.内核已经加载触摸屏驱动,可以在nfs挂载的方式下用命令cat /dev/input/event0来测试是是否加载了驱动,如果已经加载,这个时候你点击触摸屏终端是有反应的(出现一些乱码)。
前面的命令中event0是对应触摸屏的硬件设备号,你可能不是event0,但一般用event0或者event1c.有支持触摸屏校准的库或者程序,用的多的是tslib,另外linuxtp好像也可以。
d.应用程序支持触摸屏将tslib1.4.tar.gz拷贝到/home/resource下,然后解压到/home目录下# cd /home/#tar zxvf ./resource/tslib1.4.tar.gz //解压到/home(不行的话使用#tar zxvf ./resource/tslib1.4.tar.gz -C ./ 命令,后续操作同理)# cd tslib#./autogen.sh#./configure --prefix=/usr/local/tslib/ --host=arm-linux ac_cv_func_malloc_0_nonnull=yes//配置tslib安装(路径设置在/usr/local/tslib/)# make //生成Makefile# make install //安装# cd /home#rm –r tslib //安装完成,可以选择删除解压文件注:安装过程中若没有出现错误,则表示安装成功,此时应该可以在/usr/local/tslib/下看到安装好的文件,若中途出现错误,则应该检查交叉编译器是否安装好,环境变量是否设置好,然后tslib的配置命令是否有错。
(注:#./configure --prefix 语句中的--prefix 可以换成–prefix 试一试)第三步:安装qt-embedded-linux-opensource-src-4.5.3.tar.gz注:先安装Linux下的G++工具//#apt-get inatall g++ //已安装则不需要把qt-embedded-linux-opensource-src-4.5.3.tar.gz拷贝到/home/resource下#cd /home#tar zxvf ./resource/qt-embedded-linux-opensource-src-4.5.3.tar.gz//将其解压到/home下# cd qt-embedded-linux-opensource-src-4.5.3#./configure -prefix /usr/local/Trolltech/QtEmbedded-4.5.3 -release -shared-fast \-pch \-qt3support \-qt-sql-sqlite \-no-libtiff -no-libmng \-qt-libjpeg \-qt-zlib \-qt-libpng \-qt-freetype \-no-openssl \-nomake examples -nomake demos -nomake tools \-optimized-qmake \-no-phonon \-no-nis \-no-opengl \-no-cups \-no-xcursor -no-xfixes -no-xrandr -no-xrender -no-xkb -no-sm \-no-xinerama -no-xshape \-no-separate-debug-info \-xplatform qws/linux-arm-g++ \-embedded arm \-depths 16 \-no-qvfb \-qt-gfx-linuxfb \-no-gfx-qvfb -no-kbd-qvfb -no-mouse-qvfb \-qt-kbd-usb \-no-armfpa \-qt-mouse-tslib./configure -prefix /usr/local/Trolltech/QtEmbedded-4.5.3 -release -shared -fast -pch -qt3support -qt-sql-sqlite -no-libtiff -no-libmng -qt-libjpeg -qt-zlib -qt-libpng -qt-freetype -no-openssl -nomake examples -nomake demos -nomake tools -optimized-qmake -no-phonon -no-nis -no-opengl -no-cups -no-xcursor -no-xrandr -no-xrender -no-xkb -no-sm -no-xinerama -no-xshape -no-separate-debug-info -xplatform qws/linux-arm-g++ -embedded arm -depths all -qt-gfx-qvfb -qt-kbd-qvfb -qt-mouse-qvfb注:上面的代码比较长,复制时小心,该代码用于对QT库的裁剪配置,因为QT库过大,如果完全编译的话,可能最终arm板负载不了,所以需要裁剪。