Loading [MathJax]/jax/output/HTML-CSS/jax.js

【嵌入式开发技术之Qtopia】安装和交叉编译文档(2)——编译安装X86主机版各种QT

简介: 作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/    1. 编译安装X86主机版各种QT: 1)准备工作 $sudo apt-get install gcc-3.3 g++-3.3 build-essential libx11-dev libxext-dev uuid-dev libjpeg-dev zlib1g-dev zhcon 其中: Gcc-3.3,G++-3.3是GCC3.3版本,没有使用系统自带的4.3.1,原因是GCC4在编译QT3-X11时可能会出错。

 作者:gnuhpc 
出处:http://www.cnblogs.com/gnuhpc/ 
  

 

1. 编译安装X86主机版各种QT:
1)准备工作
sudoaptgetinstallgcc3.3g++3.3buildessentiallibx11devlibxextdevuuiddevlibjpegdevzlib1gdevzhconGcc3.3,G++3.3GCC3.3使4.3.1GCC4QT3X11Buildessentialubuntu/debianLibx11devX11libxextdevXfree863.xX11QtuuiddevUUID使DVDUSBUUIDlibjpegdevJPEGZlibZhconlinuxkernelzhcon<cd /usr/bin
sudolnsfgcc3.3gccsudo ln -sf g++-3.3 g++
建立gcc3.3的软链接
<- -------------------------------------------------
cd mkdir myqt
mvDesktop/qtopiafreesrc2.2.0.tar.gzmyqt/.mv Desktop/qt-x11-free-3.3.8b.tar.gz myqt/.
mvDesktop/qtembeddedfree3.3.8b.tar.gzmyqt/.cd myqt/
tarzxvfqtopiafreesrc2.2.0.tar.gzmv qtopia-free-2.2.0/ qtopia-host
tarzxvfqtembeddedfree3.3.8b.tar.gzmv qt-embedded-free-3.3.8b qt-embedded-host
tarzxvfqtx11free3.3.8b.tar.gzmv qt-x11-free-3.3.8b qt3-x11
从桌面上把几个安装包移动到家目录的myqt目录,然后解压更名,目录名及其
含义如下:
Qt3-x11是主机版本的Qt-X11,qt-embedded-host是主机版本的Qt/Embedded,
qtopia-host是主机板qtopia。
2)Qt-X11的安装和基本使用
cdqt3x11( echo yes )|./configure
makesudo make install
sudocpRlib//usr/local/libsudo cp -R include/* /usr/local/include
这是编译安装qt-X11的基本方法,若有错误,要看一看前边的包是否都装齐。
<- -------------------------------------------------
exportQTDIR=PWD
exportPATH=QTDIR/bin:PATHexport LD_LIBRARY_PATH=QTDIR/lib:LD_LIBRARY_PATH
临时设置QT所需变量
mkdirqtprogram/hellopcd qtprogram/thello
$vi hello.cpp
源文件如下:

#include <qapplication.h>
#include <qlabel.h>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QLabel *label = new QLabel("Hello Qt!", 0);
app.setMainWidget(label);
label->show();
return app.exec();
}

现在来编译我们的程序。
产生.pro工程文件
qmakeprojectMakefileqmake
编译:
make./hello
这时会出现一个很小的hello窗口。
3)Qtopia2.2.0主机的安装和运行
cdqtopiahost/cp /usr/local/bin/uic qt2/bin/.
(echoyes)|./configuremake
makeinstallQtopiaMakeinstallimageQtopiaQtopia<cd qtopia/
mkdirpimage/opt/qt/libcp -R ../qt2/lib/ image/opt/qt/lib
rmimage/opt/qt/lib/qt2imageqt2<export QTDIR=/home/inno/myqt/qtopia-host/qtopia/image/opt/qt
exportQPEDIR=/home/inno/myqt/qtopiahost/qtopia/image/opt/Qtopiaexport LD_LIBRARY_PATH=QTDIR/lib:QPEDIR/lib:LDLIBRARYPATH../qt2/bin/qvfb &
cdimage/opt/Qtopia/bin/./qpe &
这是运行Qtopia的基本步骤,首先设置环境变量R,Qtopia会在运行时查看QTDIR/lib/fonts,这个操作的主要目的是完成字库的加载。然后设置QPEDIR和LD_LIBRARY_PATH,Qtopia在运行时会在根据此寻找相关系统基础和Plugin插件的动态链接库。进一步要把虚拟Framebuffer开启,虚拟帧缓冲使用了共享存储区域(虚拟的帧缓冲)来模拟帧缓冲并且在一个窗口中(qvfb)模拟一个应用来显示帧缓冲。
Qtopia要在其上运行。
Qpe是qtopia的主程序
makelupdatemakelupdateQtopiaappnamecnZH.tsbin/nct_lupdate
产生那些在源代码中没有办法找到的字符串的翻译文件。
vi/qtopiahost/qtopia/i18n/zhCN/.directory[Translation]File=QtopiaI18NContext=Chinese(MainLand)[DesktopEntry]Name[]=Chinese(MainLand).directoryQtopiaLanguagecd http://www.cnblogs.com/
makelupdatecd i18n/zh_CN
linguisttsTranslationCrtl+Enter绿touch QtopiaRingTones.ts QtopiaThemes.ts
在make install时可能会出现两个文件不存在的错误,所以建立两个空的就可以了。
viQPEDIR/i18n/zh-CN/QtopiaDefaults.ts.
在<name>FontMap</name>将small部分修改为
<message encoding="UTF-8">
<source>Small,helvetica,10</source>
<translation>Simsun,simsun,11</translation>
</message>
修改默认字体为simsun字体。这个字体及其配置的目录fonts我已经放在http://blogimg.chinaunix.net/blog/upfile2/081109125513.gz供下载。
lrelease.tslreleaseQTwarningcd http://www.cnblogs.com/
makelupdatemake install
安装文件到image目录
export QPEDIR=/home/inno/myqt/qtopia-host/qtopia/image/opt/Qtopia
export QTDIR=QPEDIRexportPATH=QPEDIR/bin:/home/inno/myqt/qtopia-host/qt2/bin:PATHexportLDLIBRARYPATH=QPEDIR/lib:LDLIBRARYPATHimage/opt/Qtopiacd QPEDIR/binqvfb &
./qpe &  运行Qtopia。  然后在settings里的Appearance settings中进行Fonts的选择,在language中选择Chinese即可。  5)Qt-embedded的安装export QT2DIR=/home/inno/qt/qt-embedded-host/
exportQTDIR=QT2DIR
exportQTEDIR=QT2DIR
exportPATH=QTDIR/bin:PATHexport LD_LIBRARY_PATH=QTDIR/lib:LD_LIBRARY_PATH
cdqtembeddedhost/./configure
makemake install
注意选色深时选16位即可。


               作者:gnuhpc
               出处:http://www.cnblogs.com/gnuhpc/
               除非另有声明,本网站采用知识共享“署名 2.5 中国大陆”许可协议授权。


分享到:

目录
打赏
0
0
0
0
87
分享
相关文章
|
2月前
|
Qt侧边栏的动态切换:隐藏与显示技术详解
在现代用户界面设计中,侧边栏(Sidebar)是一个常见的组件,它为用户提供了导航和工具面板的功能。在某些应用场景下,我们可能需要动态地隐藏或显示侧边栏,以优化界面布局或提供更灵活的用户体验。本文将分享如何在Qt框架下实现侧边栏的隐藏与呈现,包括技术细节和代码示例。
232 3
Qt(C++)开发一款图片防盗用水印制作小工具
文本水印是一种常用的防盗用手段,可以将文本信息嵌入到图片、视频等文件中,用于识别和证明文件的版权归属。在数字化和网络化的时代,大量的原创作品容易被不法分子盗用或侵犯版权,因此加入文本水印成为了保护原创作品和维护知识产权的必要手段。 通常情况下,文本水印可以包含版权声明、制作者姓名、日期、网址等信息,以帮助识别文件的来源和版权归属。同时,为了增强防盗用效果,文本水印通常会采用字体、颜色、角度等多种组合方式,使得水印难以被删除或篡改,有效地降低了盗用意愿和风险。 开发人员可以使用图像处理技术和编程语言实现文本水印的功能,例如使用Qt的QPainter类进行文本绘制操作,将文本信息嵌入到图片中,
219 1
【qt】MDI多文档界面开发
【qt】MDI多文档界面开发
158 0
|
2月前
|
UED
Qt侧边栏的动态展示:隐藏与呈现技术详解
在现代用户界面设计中,侧边栏(Sidebar)是一个常见的组件,它为用户提供了便捷的导航和操作入口。在Qt框架中,实现侧边栏的隐藏与呈现不仅能够提升应用的美观度,还能增强用户体验。本文将详细介绍如何在Qt中实现侧边栏的动态隐藏与呈现,包括技术要点和代码实现。
184 0
|
4月前
Qt开发
Qt开发
qt开发技巧与三个问题点
本文介绍了三个Qt开发中的常见问题及其解决方法,并提供了一些实用的开发技巧。
109 0
|
5月前
|
C++
C++ Qt开发:QUdpSocket网络通信组件
QUdpSocket是Qt网络编程中一个非常有用的组件,它提供了在UDP协议下进行数据发送和接收的能力。通过简单的方法和信号,可以轻松实现基于UDP的网络通信。不过,需要注意的是,UDP协议本身不保证数据的可靠传输,因此在使用QUdpSocket时,可能需要在应用层实现一些机制来保证数据的完整性和顺序,或者选择在适用的场景下使用UDP协议。
244 2
Qt开发网络嗅探器02
Qt开发网络嗅探器02