qt-opensource-everywhere编译

author author     2022-09-04     574

关键词:

安装QT嵌入式开发环境花了4天时间,记录其中过程点滴 。
p { margin-bottom: 0.21cm; }
1 、系统环境以及软件准备 
主机操作系统: Ubuntu 9.04
主机编译器: gcc version 4.3.3 (Ubuntu 4.3.3-5ubuntu4)
交叉编译器: arm-linux-gcc 3.4.1
软件安装包:(软件包事先下载到了主目录下的 Qt 目录) 
qt-everywhere-opensource-src-4.7.0.tar.gz ( 适合 x11 ,embedded)
2. 下载 qt-everywhere-opensource-src- 4.6.2.tar.gz 
下载地址: http://ftp3.ie.freebsd.org/pub/trolltech/pub/qt/source/ 下载 
3. 安装 qt-x11 ( 主要是为了得到 assistant ,designer ,qvfb,uic 等工具 )
A 、编译安装 qt-x11 到 /usr/local/qt-x86 目录 
解压: tar xzvf qt-everywhere-opensource-src-4.7.0.tar.gz
进入解压目录: cd qt-everywhere-opensource-src-4.7.0
配置: ./configure -prefix /usr/local/qt-x86 -qvfb
编译: make
安装: make install 
NOTE: 配置时要加上 -qvfb ,否则后面无法编译生成 qvfb ( Qt/Embedded Virtual Framebuffer ) 工具 
B 、编译安装 qvfb 
进入 qvfb 源文件目录: cd qt-everywhere-opensource-src-4.7.0/tools/qvfb/
编译: make
安装: sudo make install
然后将 
完成后会在 /usr/local/qt-x86/bin 里找到 qvfb
p { margin-bottom: 0.21cm; }
4. 编译安装 qt-embedded
这里要编译 qte 的两个版本, qte for x86 ( 主要是生成在 x86 体系结构(即开发主机上)通过 qvfb 运行的工具和库文件 ) , 
qte for arm( 主要是生成在 arm 体系结构(即开发板上)直接运行的工具和库文件 )
qte for x86 : 
A 、解压 qt-everywhere-opensource-src-4.6.2.tar.gz
解压: tar xzvf qt-everywhere-opensource-src-4.6.2.tar.gz
B, 进入刚才解压得到的目录 
cd qt-everywhere-opensource-src-4.6.2
C, 编译并安装 qte-for x86( 在 /usr/local/qte-x86 下生成 一些工具和相应的库文件 )
p { margin-bottom: 0.21cm; }
配置: ./configure -prefix /usr/local/qte-x86 -qvfb -qt3support -debug-and-release -system-zlib -system-libtiff -system-libpng -system-libjpeg -qt-libmng -make libs -nomake examples -nomake demos -nis -no-cups -xplatform qws/linux-x86-g++ -embedded x86 -depths 16,24,32 -qt-gfx-qvfb -no-gfx-linuxfb -no-gfx-transformed -no-gfx-vnc -no-gfx-multiscreen -plugin-sql-sqlite -no-glib -dbus -qt-kbd-qvfb -qt-mouse-qvfb
不成功则换其他的!!!
sudo ./configure -prefix /usr/local/Trolltech/QtEmbedded-4.7.0 -embedded x86 -qt-gfx-qvfb -qt-kbd-qvfb -qt-mouse-qvfb ( 最后一个参数可能要删除 )
( 原先编译了 examples, demos 的,但一直出现错误,才有了后面列的几个错误,最后遇到一个错误解决不了了,就去掉了那两个模块,但现在 qvfb 还是有问题 , 有两个鼠标,一个一直飘, )
相关参数可以 用 ./configure -help 查看,感觉 Qt3 和 Qt4 的配置参数还是有点区别的,第一次我加了 -qt-mouse-usb 报告说 不识别这个参数。 
编译: make
安装: make install 
( 安装完成后就会在 /usr/local/qte-x86 下生成 一些工具和相应的库文件,当然可以改 -prefix yourDIR 不加 这个参数会默认安装在 /usr/local/Trolltech/***)
p { margin-bottom: 0.21cm; }
qte for arm : 
可以把刚才解压的目录改名或者删除(如果没有足够空间的话) 
A 、解压 qt-everywhere-opensource-src-4.6.2.tar.gz
解压: tar xzvf qt-everywhere-opensource-src-4.6.2.tar.gz
B, 进入刚才解压得到的目录 
cd qt-everywhere-opensource-src-4.6.2
C, 编译并安装 qte-for arm( 在 /usr/local/qte-arm 下生成 一些工具和相应的库文件 )
配置: ./configure -prefix /usr/local/qte-arm -debug-and-release -qt3support -qt-zlib -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -make libs -nomake examples -nomake demos -nomake docs -no-cups -iconv -xplatform qws/linux-arm-g++ -embedded arm -little-endian -qt-freetype -depths 8,16,24,32 -qt-gfx-linuxfb -no-gfx-transformed -no-gfx-qvfb -no-gfx-vnc -no-gfx-multiscreen -no-dbus -qt-sql-sqlite -qt-kbd-qvfb -qt-kbd-tty -qt-mouse-pc -no-glib -qt-mouse-tslib -I/arm2410s/buildTSlib/include -L/arm2410s/buildTSlib/lib -D__ARM_ARCH_6__ 
( 最后的参数 -D__ARM_ARCH_5TEJ__ 是出现了后面的第七个错误 #error "Not supported ARM architecture" 后又重新回来加上的,加上后指明了适合的平台就没这个错误了 )
参数 -qt-mouse-tslib -I/arm2410s/buildTSlib/include -L/arm2410s/buildTSlib/lib 是说我用的是 tslib ,后面的- I ,- L 分别指明了要包含的头文件和库文件, /arm2410s/buildTSlib/ 是我编译 tslib-1.0 是生成文件的目录,详细编译 tslib 可以参见一武大女生的博客: http: //blog.chinaunix.net/u1/33412/showart_273400.html
编译: make
安装: make install 
5. 设置环境变量 
A :针对 qte for x86 的 
cd /usr/local/
sudo gedit setenv-x86
编辑完后的内容如下: 
export QT4DIR=/usr/local/qt-x86
export QTEDIR=/usr/local/qte-x86
export PATH=$QTEDIR/bin:$QT4DIR/bin:$PATH
export LD_LIBRARY_PATH=$QT4DIR/lib:$QTEDIR/lib:$LD_LIBRARY_PATH
保存退出
p { margin-bottom: 0.21cm; }
B :针对 qte for arm 的
sudo gedit setenv-arm
编辑完后的内容如下:
export QT4DIR=/usr/local/qt-x86
export QTEDIR=/usr/local/qte-arm
export PATH=$QTEDIR/bin:$QT4DIR/bin:$PATH
export LD_LIBRARY_PATH=$QT4DIR/lib:$QTEDIR/lib:$LD_LIBRARY_PATH
保存并退出
要运行哪个版本就设置相应的环境,如要在主机上用qvfb ,就用 运行:. setenv-x86 ( 注意点后面有个空格 )
6 . 配置两个快速启动脚本
[[email protected] bin]# cat qvfb.sh
/usr/local/Trolltech/QtEmbedded-4.4.1/bin/qvfb -width 640 -height 480 -depth 16 &
7 。使用
开机后运行. qvfb.sh
就可以进入工作环境进行编程和调试的工作了。
注意,第一次运行eclipse 时会提示你进行Qt 的设置,将路径设置到Qte/bin 路径下即可。
千万不要关闭qvfb 窗口,不然屏幕上部会花屏,键盘输入也会被截断。
每一个程序,在Eclipse 中设置其启动参数 -qws 。
我在usr/local/bin 下创建了qvfb.sh ,把5 和6 步写在了一起。export 了一些环境变量(qte-for-arm) ,配置 qvfb 和 eclipse ,然后使用前在任何路径下输入. qvfb.sh 即可。然后. /qvfb.sh , qmake -project , qmake xxx.pro , make , ./xxx -qws;
对qte-for x86的环境变量,编译程序时使用x11还是qte-x86是有规律的。打开终端后,若不运行. qvfb.sh, 编译使用的是x11,只要开了一次qvfb,则以后编译的全是qte-x86,除非重新打开终端

 
 

将 Swift 编译为 WebAssembly

】将Swift编译为WebAssembly【英文标题】:CompileSwifttoWebAssembly【发布时间】:2018-03-1606:39:02【问题描述】:LLVM基础架构现在支持从LLVMIRtoWebAssembly编译(至少在实验上如此)。Swift使用LLVM编译器基础架构,可以轻松编译为LLVMIR。所... 查看详情

视频编解码·学习笔记3.h.264视频编解码工程jm的下载与编解码

...典版本:http://iphome.hhi.de/suehring/tml/download/old_jm/二、配置编码环境:下载后打开工程目录中tml.sln文件,VS中会有三个工程,其中r 查看详情

硬件编解码与软件编解码的区别

...未有的超赞体验,这离不开硬件的支持。其中,编解码方式对串流效果有着直接且巨大的影响。什么是编解码编解码指的是用特定算法将数据进行转换和还原的过程,或将电脉冲信号转换成它所代表的信息、数据等的... 查看详情

中文编解码问题

在做EIP审批接口是遇到中文编解码问题,现在将编解码过程记录如下:前端Javascript:encodeURIComponent(string)后端Java:string=newString(string.getBytes("ISO8859-1"),"UTF-8"); 附注(引用地址:http://blog.csdn.net/kalision/article/details/864079 查看详情

text编(代码片段)

查看详情

rsrs编译码理论与误码率性能matlab仿真和分析

目录1.RS编译码理论概述2.RS译码算法3.matlab程序4.误码率性能仿真1.RS编译码理论概述   RS编译码是一种非二进制编译码,RS编译码的码元符号取自伽罗达域GF(2m)。输入的信息可分为k*m比特一组,每组k个符号由m比特组成... 查看详情

rsrs编译码理论与误码率性能matlab仿真和分析

目录1.RS编译码理论概述2.RS译码算法3.matlab程序4.误码率性能仿真1.RS编译码理论概述   RS编译码是一种非二进制编译码,RS编译码的码元符号取自伽罗达域GF(2m)。输入的信息可分为k*m比特一组,每组k个符号由m比特组成... 查看详情

各种音视频编解码标准

  各种音视频编解码标准  查看详情

url编码表base64编码表http消息含义

URL编码表backspace8%A41%a61%§%A7?%D5 tab9%B42%b62%?%AB?%D6 linefeed%0AC43%c63%?%AC?%D8 creturn%0DD44%d64%ˉ%ADù%D9 space20%E45%e65%o%B0ú%DA !21%F46%f66%±%B1?%DB "22%G47%g67%a 查看详情

为啥我可以在 Mac OS X 上使用 Cython 编译为 C 但不能编译为 C++

】为啥我可以在MacOSX上使用Cython编译为C但不能编译为C++【英文标题】:WhycanIcompileasCbutnotasC++withCythononMacOSX为什么我可以在MacOSX上使用Cython编译为C但不能编译为C++【发布时间】:2019-08-2111:27:30【问题描述】:我想弄清楚如何使用... 查看详情

fpga教程案例88编译码1——基于fpga的hdb3编译码verilog实现

FPGA教程目录MATLAB教程目录目录1.软件版本2.HDB3编译码理论概述2.1HDB3编码2.2HDB3译码3.verilog实现过程 查看详情

fpga教程案例88编译码1——基于fpga的hdb3编译码verilog实现

FPGA教程目录MATLAB教程目录目录1.软件版本2.HDB3编译码理论概述2.1HDB3编码2.2HDB3译码3.verilog实现过程 查看详情

h.264视频编解码器——参考软件jm的下载与编解码

H.264视频编解码器——参考软件JM的下载与编解码一、下载JM工程:JM是H.264标准制定团队所认可的官方参考软件。网址如下http://iphome.hhi.de/suehring/tml/从页面中可找到相应的工程源码,本次选择JM8.6版本,此版本为经典版本:http://i... 查看详情

markdownurl编解码(代码片段)

查看详情

编码表

常见的编码表:ASCII美国标准信息交换码,用一个字节的7位表示ISO-8859-1 拉丁码表,欧洲码表,用一个字节的全部8位表示GB2312:中国的中文码表GBK:GB2312的升级,融合了更多的中文文字符号Unicode:国际标准码,融合了多种文... 查看详情

视频的编解码-编码篇

参考技术A四、视频的编解码-编码篇时间 2016-08-0510:22:59Twenty's时间念原文http://blog.img421.com/si-shi-pin-de-bian-jie-ma-bian-ma-pian/主题iOS开发MacOS在此之前我们通常使用的FFmpeg多媒体库,利用CPU来进行视频的编解码,占用CPU资源,效率低... 查看详情

哈夫曼编

 哈夫曼编码(c/c++/c#/php/js/java版)简介.................................................................................................................................1算例................................ 查看详情

silk编解码器下载

参考silk编解码_Silk编解码在android实现Silk编解码是Skype向第三方开发人员和硬件制造商提供免版税认证(RF)的Silk宽带音频编码器,Skype已将其开源。SILKCodec是一个语音和音频编解码算法,对于音频带宽、网络带宽和算法复杂度都... 查看详情