文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Build Qtopia for x86

Build Qtopia for x86

时间:2006-09-04  来源:aaronwong

Build Qtopia for x86

一、相关工具以及软件包:

Ø           Cross-compiler Toolchains              提供arm交叉编译工具

Ø           e2fsprogs-1.35.tar.gz                        用于编译生成libuuid库

Ø           tmake-1.11.tar.gz                              生成makefile

Ø           qt-embedded-2.3.7.tar.gz                  Qt/Embedded

Ø           qt-x11-2.3.2.tar.gz                             Qt/X11,提供uic,qvfb

Ø           qtopia-free-1.7.0.tar.gz                      Qtopia

将这些工具和软件包保存到/qte_x86/目录,并解压缩。注意Toolchains已保存到/opt/xscalev1/bin。

 

二、安装tmake:

       tmake用于交叉编译生成qt应用程序的makefile, 也可用于生成qt的本地makefile,区别在于设置TMAKEPATH路径的不同,一个用于arm,一个用于x86。

       注意:tmake机器上本来就有,但是需要1.11以上版本,可用tmake –v查看版本信息。

设置tmake环境变量:

# export PATH=/qte_arm/tmake-1.11/bin:$PATH

# export TMAKEDIR=/qte_arm/tmake-1.11

# export TMAKEPATH=/qte_arm/tmake-1.11/lib/qws/linux-arm-g++

       实际操作成功后才发现TMAKEPATH中用的是lib/qws/linux-arm-g++,不知道为什么能成功。按理说应该使用lib/qws/linux-x86-g++。

 

三、安装e2fsprogs:

# cd e2fsprogs

# ./configure  –enable-elf-shlibs

# make

# make install lib/uuid 或 # cd lib/uuid    # make install

       其中lib目录下的libuuid.so.1.2、libuuid.so.1、libuuid.so即是我们要编译的库,必须检查是否出现以及相应格式,否则说明编译不成功。

将e2fsprogs-1.35/lib/目录下uuid的文件夹复制到qtopia/include下。

将e2fsprogs-1.35/lib/中的libuuid.a复制到/qtopia/lib下。

否则会出现找不到uuid.h和cannot find -lqtopia的问题,这是因为RedHat 9中缺少uuid.h文件。

//有人说在装e2fsprogs之前需要设置链接器路径(不用):

// export LD_LIBRARY_PATH=$QTDIR/lib:$QPEDIR/lib:$LD_LIBRARY_PATH

 

四、安装Qt/Embedded:

Qt/E已经解压到/qte_x86/qte-2.3.7,Qtopia解压到/qte_x86/qtopia-1.7.0。

# cd /qte_x86/qte-2.3.7

# export QPEDIR=../qtopia-1.7.0

# export QTDIR=$PWD

# export PATH=$PWD/bin:$PATH

# export LD_LIBRARY_PATH=$PWD/lib:$LD_LIBRARY_PATH

 

# cp $QPEDIR/src/qt/qconfig-qpe.h  src/tools/

# ./configure –qconfig qpe –qvfb –depths 4,8,16,32 -shared –no-xft

# make 或者# make sub-src

//注意必须采用选项-depths 4,8,16,32,因为PC的显示器属性往往调为32位色彩象素深度,若只选16,则在使用qvfb仿真时会发生问题,可能需要调节PC显示属性。

 

五、安装Qt/X11:

       编译qt-x11-2.3.2是为了得到uic和qvfb,uic在编译qtopia时要用到,因此要用gcc/g++编译。Qvfb则用于在没有帧缓冲结构的x86处理器系统和X窗口环境下,模拟出虚拟的帧缓冲,以便用于在PC上进行qtopia应用开发时的仿真。

       需要注意的是选择安装的Qt for X11的版本必须比Qt/Embedded的版本旧。

       # cd  /qte_x86/qt-2.3.2

       # export QTDIR=$PWD

       # export PATH=$PWD/bin:$PATH

       # export LD_LIBRARY_PATH=$PWD/lib:$LD_LIBRARY_PATH

       # ./configure –no-xft

       # make

       # make –C tools/qvfb 或者# cd tools/qvfb # make

      

       # cp tools/qvfb/qvfb  bin   //将上一步生成的可执行文件qvfb拷到bin目录下。

       # cp bin/uic $QTEDIR/bin

 

六、Build Qtopia:

# cp  /qte_x86/e2fsprogs/lib/libuuid.a  /qte_x86/qtopia-1.7.0/lib

# cp –av /qte_x86/e2fsprogs/lib/uuid  /qte_x86/qtopia-1.7.0/include

       # export QTDIR=$QTEDIR

       # export PATH=$PWD/bin:$PATH

       # export LD_LIBRARY_PATH=$PWD/lib:$LD_LIBRARY_PATH

      

       # cd src

       # ../configure

       # make

       注意,这里configure后面不带参数时,默认选项为configure –platform linux-generic-g++,不能写成configure –platform linux-x86-g++,否则编译时出错。不知道为什么?

 

[参考资料]:

①     Qtopia软件包的相关文档;

②     Linux下Qt/Embedded、Qt/X11、Qtopia 安装方法,http://blog.xjtu.edu.cn/user3/6415/archives/2006/68008.shtml

 

[声明]本站文章除特别注明外,均为作者原创,如需转载请注明作者与出处。

[提示]您可以通过这个链接引用这篇文章:http://blog.chinaunix.net/u/23458/showart.php?id=164419

相关阅读 更多 +
排行榜 更多 +
机械火车修理

机械火车修理

休闲益智 下载
坚持到顶

坚持到顶

休闲益智 下载
掷球冠军

掷球冠军

休闲益智 下载