linux qt 编译器,在Linux上开发Qt

本文介绍的是在Linux上开发Qt,对于这篇文章本人感觉很有成就感,因为你看完之后,有点像越狱。那么看看本文的讲解吧。

对于诺基亚不提供在Linux环境下的SymbianSDK这件事情,我已经忍了很久了。现在它终于迈出了一小步。

QtLabs终于在几天前推出了如何在Linux开发Qtfor Symbian应用的一篇博客,需要自己从源代码编译Qt for Symbian的版本。实话说,还不是很方便。如果你不着急用,还是静待官方推出编译好的安装包吧,那时候跟编普通Qtfor Linux应用没什么区别了,执行qmake;make就能搞定。如果你和我一样有编译狂躁症,或者build控,那么一起上路吧:),老外文章得贝得贝说一大通,感觉步骤很多似的,其实没那么多。

预备条件:因为目前的SymbianSDK并非为Linux专用,而是直接借用了Windows版本的,所以为了保证SDK中的那些工具能够在Linux下使用,你需要先把Wine(Linux下的windows 模拟器)装上。

下载Symbian SDK

需要下载两个安装包,这里使用S60 5th版本,另外Qt需要open c & cpp的插件。下载地址分别为

GNUPOC工具下载

gnupoc有点陌生,也是在Linux上开发symbian应用的核心组件。可以将gnupoc拆开成gnu-poc来理解,就是gnu下的epoc环境。利用该工具可以将我们从windows下下载的symbian sdk安装包解压安装到Linux环境中,GNUPOC下载地址为http://www.martin.st/symbian,选版本1.15即可。

Symbian SDK 安装配置

将上面下载的GNUPOC解压后,执行以下三条命令

cd gnupoc-package-1.15/sdk

./install_gnupoc_s60_50 ~/S60_5th_Edition_SDK_v1_0_en.zip ~/symbiansdk

./install_openc_16_s60 ~/work/s60_open_c_cpp_plug_in_v1_6_en.zip ~/symbiansdk

下载一个Symbian SDK的补丁文件,然后利用下面命令打上补丁

cd ~/symbiansdk

gunzip symbiansdk-gcce.gz

patch -p0

下载arm编译器

没有特别好说的,请下载arm-symbian编译器,然后解压

配置环境变量

将前面的安装好的SDK以及编译器中的一些工具,设置到个人用户的.bashrc中

exportEPOCROOT=$HOME/symbian-sdk/

QTDIR=$HOME/build/qt

gcceDir=full/path/to/arm-2009q3/bin

exportPATH=$QTDIR/bin:$EPOCROOT/epoc32/tools:$gcceDir:$PATH

开始编译吧

Qt源码需要用到即将发布的Qt-4.7-beta版,我是直接使用http://qt.gitorious.org/qt/qt代码仓库里的版本,然后在QTDIR目录下执行如下编译命令

$HOME/qt/configure -platform linux-g++ -xplatform symbian/linux-gcce -arch symbian -no-webkit -little-endian

make

cd src

make sis

遇到的问题

1. configure时提示无法判断littel-endian还是big-endian

解决办法:在configure命令参数中加入-little-endian选项

2. 在调用rcomp生成symbian资源文件时提示”can’t write UIDs to s60main.rsc”

原因: 因为rcomp调用了另外一个应用uidcrc.exe,wine无法找到它(Shiroki@CuteQt有功于此)

解决方法: 将symbiansdk//epoc32/tools/uidcrc.exe拷贝.wine/drive_c/windows/system32目录下

3.编译的时候有两个文件提示TDesC等symbian标识符不认识

解决方法:给src/gui/kernel/qsoftkeymanager_s60_p.h和src/gui/kernel/qkeymapper_s60.cpp文件头部的地方,加入下面两行

#include

#include

小结:在Linux上开发Qt的内容介绍完了,怎么感觉有点像智能手机越狱呢?呵呵,还是希望对你有帮助!

【编辑推荐】

【责任编辑:李程站 TEL:(010)68476606】

点赞 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值