嵌入式Qt开发环境的搭建详解
一、嵌入式Qt开发环境的搭建前奏
1、下载arm-linux-gcc-4.4.3-20100728.tar.gz
2、下载qt-everywhere-opensource-src-4.8.5.tar.gz(Qt的源码)
3、下载qt-creator-linux-x86_64-opensource-2.5.2.bin(我的系统是64位,所以选择x86_64)
4、下载tslib-1.4.tar.gz(触摸屏校验工具)
二、嵌入式Qt开发环境的搭建间奏
1、系统环境
主机操作系统:ubuntu14.04
主机编译器:gcc4.4.3,
交叉编译器:arm-linux-gcc-4.3.3
2、安装交叉编译器
(1)首先以root用户登入
(2)复制arm-linux-gcc-4.3.2.tgz到根目录下tmp文件夹里
(3)解压命令tar xvzf arm-linux-gcc-4.3.2 -C /,注意以上命令必须要有-C而且是大写的后边有个空格也要注意
(4)配置下编译环境路径,在控制台下输入 gedit /root/.bashrc 等一会出来文本编辑器后在文件最后(最后一行)加上下面代码
export PATH=/opt/FriendlyARM/toolschain/4.4.3/bin:$PATH
重新打开一个终端,使上面的配置文件生效;输入命令 arm-linux-gcc -v; 如果出现gcc的版本信息,就代表交叉编译器安装成功,会输出gcc的版本号;
3、安装触摸屏校验工具
把tslib-1.4.tar.gz放到一个目录下,比如/opt目录下。接着执行命令如下:#tar zxvf tslib-1.4.tar.gz
执行命令cd tslib,进入tslib当前目录,接着执行命令如下:#./autogen.sh
然后接着执行配置命令:#./configure --prefix=/usr/local/tslib --host=arm-linuxac_cv_func_malloc_0_nonnull=yes
最后执行编译命令和安装命令如下:(1)make (2)make install
如果以上步骤没错,则可以在/usr/local/tslib下出现我们需要的库文件,这些库文件我们移植时会用到。
编译期间出现的错误:./autogen.sh: 4: autoreconf: not found
解决办法:sudo apt-get install autoconf automake libtool
编译期间出现错误:make没有指定的makefile
解决办法:不要在虚拟机与window的共享文件中进行make,会出错
4、安装QtCreator
4.1 qt-creator-linux-x86_64-opensource-2.5.2.bin 拷贝到linux系统中,在终端中把路径切换到qt-creator-linux-x86_64-opensource-2.5.2.bin所在的路径,运行命令:./qt-creator-linux-x86_64-opensource-2.5.2.bin 就会出现图形安装界面;下面的安装步骤就和我们在windows下安装软件差不多。
注意:下的版本要和你的操作系统相匹配,32位的系统下对应32位的应用程序;
4.2 编译Qt库源码
4.2.1 解压
将源码qt-everywhere-opensource-src-4.8.5.tar.gz进行解压,并复制三份到/usr/local目录下,并分别命名为qt-pc,qt-x86,qt-arm
4.2.2 编译PC版
进入qt-pc目录,执行如下操作:
#./configure
#make
#make install
编译过程中出现的问题:
出错:g++命令未找到
这个错误主要是ubuntu 默认 不安装 g++,apt-get install g++即可
出错:Basic XLibfunctionality test failed!
这个错误主要是因为,XLib库没有安装,所以在编译X11平台时,应该保证,以下命令正确执行:sudo apt-get install libx11-dev libxext-dev libxtst-dev
注意:可以使用 make confclean 命令 把以前的配置信息清除掉,然后再重新配置。
点击获取更详细的步骤
4.2.3 编译x86版
进入qt-x86目录,执行如下操作:
# ./configure -embedded x86 -qt-gfx-qvfb -qt-kbd-qvfb -qt-mouse-qvfb
# make
# make install
安装过程比较长,没有碰到过错误。
编译安装PC版中的 qvfb:
进入qt-pc/tools/qvfb/目录,执行如下操作:
#make
编译完毕,将qt-pc/bin目录下的qvfb文件复制到/usr/local/Trolltech/QtEmbedded-4.8.5/bin目录。
编译qvfb时,出现了如下错误:
x11keyfaker.cpp:48:34: 致命错误: X11/extensions/XTest.h:没有那个文件或目录
编译中断。make: *** [.obj/release-shared/x11keyfaker.o] 错误 1
解决方法:sudo apt-get install xorg-dev
如果makefile中没有-lXtst选项,则修改makefile 中 LIBS 选项: 添加 -lXtst选项
4.2.4 编译ARM版
必须加上“-prefix /usr/local/Trolltech/QtEmbedded-4.8.5-arm ”参数, 不然安装后不在QtEmbedded-4.8.5-arm文件夹下,而是覆盖了QtEmbedded-4.8.5。
# ./configure
-prefix /usr/local/Trolltech/QtEmbedded-4.6.3-arm
-opensource
-confirm-license
-release -shared
-embedded arm
-xplatform qws/linux-arm-g++
-depths 16,18,24
-fast
-optimized-qmake
-pch
-qt-sql-sqlite
-qt-libjpeg
-qt-zlib
-qt-libpng
-qt-freetype
-little-endian -host-little-endian
-no-qt3support
-no-libtiff -no-libmng
-no-opengl
-no-mmx -no-sse -no-sse2
-no-3dnow
-no-openssl
-no-webkit
-no-qvfb
-no-phonon
-no-nis
-no-opengl
-no-cups
-no-glib
-no-xcursor -no-xfixes -no-xrandr -no-xrender
-no-separate-debug-info
-nomake examples -nomake tools -nomake docs
-qt-mouse-tslib -I/usr/local/tslib/include -L/usr/local/tslib/lib
如果放弃配置,则使用命令:# make confclean
编译:# make
安装:# make install
安装完成后,在/usr/local/Trolltech目录中有三个文件夹:Qt-4.8.5、QtEmbedded-4.8.5、QtEmbedded-4.8.5-arm。
4.3 安装完后
4.3.1 qvfb的测试
运行qvfb,提示了如下错误,在网上也查了很多种解决办法,最后还是没有解决; 有的说要重新编译内核,并带上参数;觉得比较麻烦,就没有去尝试;不过这个错误并不影响我们仿真模拟Qt4程序。
4.3.2 QtCreator编译前的配置
X86的调试编译与调试
(1)打开QtCreator ,工具---->选项--->构建和运行 进行设置,在Qt版本菜单下,手动设置选择qmake路径
(2)打开QtCreator 对其进行设置,点击左边的项目,选择运行,对其进行设置,在参数里添加 -qws参数
(3)编译与运行,现在终端 输入命令:qvfb -width 800 -height 480 & 打开虚拟缓冲端;然后就可以在QtCreator对程序进行编译、运行了;
关于ARM移植的那部分还没有做,等以后自己做的话,再补充。
嵌入式Qt开发环境的搭建详解的更多相关文章
- VirtualBox开发环境的搭建详解(转)
VirtualBox开发环境的搭建详解 有关VirtualBox的介绍请参考:VirtualBox_百度百科 由于VirtualBox官网提供的搭建方法不够详细,而且本人在它指导下,从下载所需的开 ...
- VirtualBox开发环境的搭建详解
有关VirtualBox的介绍请参考:VirtualBox_百度百科 由于VirtualBox官网提供的搭建方法不够详细,而且本人在它指导下,从下载所需的开发包,到最后生成二进制文件,中间遇到了许多的 ...
- Ubuntu14.04搭建JSP与Servlet开发环境及其测试详解
一,搭建JDK开发环境 1,在Java官网下载Jdk软件包,我的系统是64位Ubuntu14.04,所以选择jdk-8u25-linux-x64.tar.gz. 2,解压Jdk软件包 tar xvzf ...
- 在 IntelliJ IDEA 中配置 JSF 开发环境的入门详解
JSF 作为 JavaEE 官方标准,在了解并掌握其基本开发技术后,对于功能要求较高.业务流程复杂的各种现代 Web 应用程序开发将会成为非常合适且强大的高效率开发利器.JSF 的开发环境搭建涉及到在 ...
- Qt开发环境的搭建
首先讲讲为什么要用Qt这个东东吧!用了以后才知道,这门语言真的很不错,我权当把它当成了类库来用,Linux本身的C语言编程是很烦的,比如说串口编程,虽说C编程也不难,但是使用Qt这种封装的类库来操作的 ...
- Windows平台下Qt开发环境的搭建
Qt 是采用开源和商用双协议发布的开放源代码的图形开发类库,现在很多图形化的开源软件都使用了Qt. 下载地址:http://qt-project.org/downloads 1. 下载安装包 你可以从 ...
- Ubuntu下嵌入式Qt开发环境配置全攻略
http://qpcwth.blog.163.com/blog/static/20993024620139151424822/ 在安装的过称中,出现一些问题,注意试想: 1.本次开发环境的配置,是基于 ...
- IDEA里如何安装Python插件打造开发环境(图文详解)
前言 python是一种功能强大和适用面很广的开发语言,在大数据应用和机器学习日益流行的年代,python凭借其简洁.易用和可扩展性获得很多用户的支持,近年来使用率高速增长.python环境下,集成了 ...
- 【Qt开发】V4L2 API详解 Buffer的准备和数据读取
前面主要介绍的是:V4L2 的一些设置接口,如亮度,饱和度,曝光时间,帧数,增益,白平衡等.今天看看V4L2 得到数据的几个关键ioctl,Buffer的申请和数据的抓取. 1. 初始化 Memory ...
随机推荐
- bzoj 4465 游戏中的学问
Written with StackEdit. Description 大家应该都见过很多人手拉手围着篝火跳舞的场景吧?一般情况下,大家手 拉手跳舞总是会围成一个大圈,每个人的左手拉着旁边朋友的右手, ...
- 【LeetCode】汇总
此贴为汇总贴 673. Number of Longest Increasing Subsequence 075. Sort Colors 009. Palindrome Number 008. St ...
- python中reload(module)的用法,以及错误提示
1.Python2中可以和Python3中关于reload()用法的区别. Python2 中可以直接使用reload(module)重载模块. Pyhton3中需要使用如下两种方式: 方式(1) ...
- Browserify使用指南(转)
让浏览器加载Nodejs模块 目前NPM上有二十多万个NodeJS模块,它们都是通过CMD的方式打包的,除了特定的可以使用CMD模块加载器加载的模块,大部分nodejs模块无法直接使用到浏览器环境中. ...
- cxGrid使用汇总3
32根据单元的值设置样式 解决:procedure <aForm>.<aColumn>StylesGetContentStyle( Sender: ...
- 浅谈FPGA的选型
工欲善其事必先利其器,开发FPGA的第一步,当然是选择一片符合设计需求的芯片. 器件特色 选片第一个关注的应该是FPGA器件的专用资源. 例如是否需要高速接口,如果需要的话,需要多少个通道,各个通道需 ...
- FPGA噪声干扰
在FPGA高速AD采集设计中,PCB布线差会产生干扰.今天小编为大家介绍一些布线解决方案. 1.信号线的等长 以SDRAM或者DDRII为例,数据线,命令线,地址线以及时钟线最好等长,误差不要超过50 ...
- (转)IE=EmulateIE7 标签的作用
本文转载自:http://www.cnblogs.com/0000/archive/2009/11/01/1593851.html 对于 Web 开发人员来说,文本兼容性是一个要考虑的重要问题.Win ...
- 【转】使用Jmeter录制web脚本
1.web性能测试以及web http请求基本原理. 再介绍录制jmeter脚本之前,我们先谈一下web性能测试.web就是调用http/https接口, 其实没有是什么复杂度可言.只是我们必须清楚, ...
- java多线程的练习------------。加深
总结:线程的理解不够.还不够 package com.aa; public class MyThread implements Runnable {// 我们可以继承一个Thread.但是我们可以实现 ...