PlayBook NDK 2.0 + Qt 开发环境 on Windows 7

来源:互联网 发布:ruby环境搭建 mac 编辑:程序博客网 时间:2024/05/05 10:24

目标:搞定PlayBook(真机/模拟器)上面开发和移植Qt应用所需要的开发环境。

步骤:

Part A)准备开发环境。

Part B)创建项目,配置Qt开发环境。

Part C)在PlayBook simulator上运行Qt程序(略)


Part A)准备开发环境:

OS: Windows 7 64 bit

BlackBerry PlayBook Native SDK 2.0.1

PlayBook 2.0.1  simulator(vmware虚拟机)

Qt 4.8.1 环境:

下载qt4.8-playbook-simulator-i386.bin,在32位Linux Ubuntu上面安装,拷贝安装目录到Windows 机器上,目录结构如下图。

注意:qt4.8-playbook-simulator-i386.bin,安装后的目录是PlayBook simulator x86 CPU的Qt类库。

注意:qt4.8-playbook-linux-i386.bin,安装后的目录是PlayBook真机arm CPU的Qt类库。

关键的几个目录和文件:

lib: 下面是Qt核心可运行类库 for PlayBook simulator ,是x86 CPU的,包括LibQtCore.so, libQtGui.so等等。

include: 下面又分子目录,子目录(QtCore, QtGui等)下面分别是对应类库的头文件

plugins\platforms目录下面有关键的一个libblackberry.so文件,用来将Qt和PlayBook OS集成。




Part B)创建项目,配置Qt开发环境

使用NDK想到创建新的C++应用项目。



设置项目的Build Configurations为simulator-Debug。

这样,你在Build Project的时候,将生成x86 CPU的二进制程序,可以运行在PlayBook或者BlackBerry 10的 simulator上。




下一步,为程序添加Qt运行类库。

注:PlayBook OS 2.0里面没有内置Qt类库;BlackBerry 10里面有内置。


打开bar-descriptor.xml文件

选择设置Simulator-Debug配置,添加文件。










修改lib/libblackberry.so为lib/platforms/libblackberry.so。

如果不照此办理,这个Qt程序在PlayBook上面运行的时候,没有办法初始化Qt运行环境。



接下来,为项目添加library。

其目的有三:

1.  这些library的二进制运行库文件,将打包到bar文件里面。

2/3.  告诉开发工具,编译的时候如何include header文件,如何link object库文件。













下面让我们来验证一下上面窗口中提到的四处修改











按照上面加入QtCore的方法,分别加入QtGui, QtOpenGL。这三个是编写Qt程序必须的三个库。




Build Project,报错,说是找不到QtCore/xxx.h,QtGui/xxx.h等头文件。

注意到编译器qcc的参数里面,include了QtGui,QtCore等目录。但是有时候,程序代码里面是带目录include QtCore/xxx.h,而不是直接include xxx.h。

那么我们只需要配置项目,告诉qcc哪里找到QtCore的上一级目录即可。










再次Build Project,qcc编译器找到了包括QtCore/QtGui/QtOpenGL等值目录的include父目录。编译通过了。



在运行的时候,报错,说找不到合适的platform。



解决办法1:在Run Confguration里面加应用运行参数-platform blackberry



解决办法1:把参数设置到应用描述文件bar-descriptor.xml里面。重新Build, Run即可。




这次又报错,说找不到Qt的font路径。



那我就找个字体路径,加到bar-descriptor.xml文件里面。





最后,Qt应用顺利的在PlayBook模拟器上面运行起来了。

图我就不给大家看了。就是一个Hello World Qt应用而已。


需要说明的是,这个Hello World还没有用QML,没有包括moc编译。