作者:gnuhpc
出处:http://www.cnblogs.com/gnuhpc/
1. 编译安装X86主机版各种QT:
1)准备工作
sudoapt−getinstallgcc−3.3g++−3.3build−essentiallibx11−devlibxext−devuuid−devlibjpeg−devzlib1g−devzhcon其中:Gcc−3.3,G++−3.3是GCC3.3版本,没有使用系统自带的4.3.1,原因是GCC4在编译QT3−X11时可能会出错。Build−essential是ubuntu/debian下编译程序所必需的。Lib−x11−dev是X11的一个开发库。libxext−dev是Xfree863.x的一些扩展开发库。以上两个都是编译基于X11的Qt所必须的包。uuid−dev,UUID是一个标帜系统中的存储设备的字符串,其目的是帮助使用者唯一的确定系统中的所有存储设备。可以标识DVD驱动器,USB存储设备以及系统中的硬盘设备等。这个是UUID的一个开发库。libjpeg−dev是JPEG的开发库。Zlib是常用的压缩库。以上三个都是必须的一些外围库。Zhcon是中文控制台。它是外挂式平台,与内核汉化不同,不需要对linux的kernel打补丁,在主控制台上执行zhcon后,就可以进入中文平台。<−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−cd /usr/bin
sudoln−sfgcc−3.3gccsudo ln -sf g++-3.3 g++
建立gcc3.3的软链接
<- -------------------------------------------------
cd mkdir myqt
mvDesktop/qtopia−free−src−2.2.0.tar.gzmyqt/.mv Desktop/qt-x11-free-3.3.8b.tar.gz myqt/.
mvDesktop/qt−embedded−free−3.3.8b.tar.gzmyqt/.cd myqt/
tarzxvfqtopia−free−src−2.2.0.tar.gzmv qtopia-free-2.2.0/ qtopia-host
tarzxvfqt−embedded−free−3.3.8b.tar.gzmv qt-embedded-free-3.3.8b qt-embedded-host
tarzxvfqt−x11−free−3.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的安装和基本使用
cdqt3−x11( echo yes )|./configure
makesudo make install
sudocp−Rlib/∗/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/hello–pcd 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工程文件
qmake–project生成Makefile文件:qmake
编译:
make运行:./hello
这时会出现一个很小的hello窗口。
3)Qtopia2.2.0主机的安装和运行
cdqtopia−host/cp /usr/local/bin/uic qt2/bin/.
(echoyes)|./configuremake
makeinstall这是编译安装Qtopia的基本方法。Makeinstall后系统会在image文件夹中生成Qtopia的整个文件树,其中的结构和文件都是Qtopia所要用的,当然某些库、字库以及帮助文档是可以精简的,在嵌入式移植部分我们会进行。<−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−cd qtopia/
mkdir−pimage/opt/qt/libcp -R ../qt2/lib/ image/opt/qt/lib
rmimage/opt/qt/lib/∗将qt2目录中的字库复制到image中,这样整体文件架构比较清晰,然后删去qt2所用的链接库。<−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−export QTDIR=/home/inno/myqt/qtopia-host/qtopia/image/opt/qt
exportQPEDIR=/home/inno/myqt/qtopia−host/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的主程序
makelupdate这是确保翻译所必须的文件都存在并且是最新的,makelupdate针对每种语言通过调整Qtopia的“语言”这个配置选项产生了翻译文件,命名就是以appname−cn−ZH.ts这样的名字来命名的。bin/nct_lupdate
产生那些在源代码中没有办法找到的字符串的翻译文件。
vi/qtopia−host/qtopia/i18n/zhCN/.directory[Translation]File=QtopiaI18NContext=Chinese(MainLand)[DesktopEntry]Name[]=Chinese(MainLand)每种语言都需要一个.directory以设定语言,这个会在Qtopia的Language中显示。cd http://www.cnblogs.com/
makelupdate再次更新。cd i18n/zh_CN
linguist打开每个ts文件在Translation处写入中文,注意在确认时按Crtl+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∗.ts用lrelease产生QT消息文件。会有两个warning,当然是刚才那两个没有意义的空文件造成的cd 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:LDLIBRARYPATH然后在image/opt/Qtopia下设置环境变量,cd 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
cdqt−embedded−host/./configure
makemake install
注意选色深时选16位即可。
作者:gnuhpc
出处:http://www.cnblogs.com/gnuhpc/
除非另有声明,本网站采用知识共享“署名 2.5 中国大陆”许可协议授权。