c++ - BB10 级联命令行开发

标签 c++ qt blackberry-10 blackberry-qnx

由于如果您了解 Qt,BB10 的编程现在应该会容易得多,所以我决定试一试,我一直在阅读以下内容:https://developer.blackberry.com/cascades/documentation/getting_started/index.html

我注意到 RIM 的所有教程以及我能找到的所有在线教程都以 QNX Momentics IDE 为中心 - 一个定制的 Eclipse。

因为我是老派,而且我喜欢 VIM,所以我真的更喜欢使用命令行工具。但是,我似乎找不到任何有关如何在此 IDE 之外设置项目、构建过程或设备/模拟器部署的文档。这甚至可能吗?如果是这样,是否有人对某些文档或教程有任何线索?

最佳答案

我也喜欢 vimake。 BB10 开发的真正好处是所有 QNX 命令行工具和 makefile 模板都包含在 Native Development Kit 中。因此从命令行构建和部署应用程序很容易。

要从命令行开始开发,您需要:

设置 NDK 环境变量

运行 NDK 安装目录中的 bbndk-env.sh

您现在应该可以访问大量以 blackberry-* 开头的二进制文件。这些将使您能够将应用程序打包并部署到模拟器或设备上。

为 arm 架构构建

要构建将在 BB10 设备上运行的二进制文件,您需要为 arm 架构构建:

qcc -Vgcc_ntoarmv7le main.c

要为模拟器构建,您需要为 x86 架构构建,假设这是您的主机操作系统。您可以通过运行 qcc -V

查看所有支持的架构列表

创建 BAR 描述符 XML

每个 BB10 应用都必须有一个名为 bar-descriptor.xml 的 BAR 描述 rune 件。这告诉目标操作系统如何安装应用程序。这是一个最小的示例(我的应用程序称为“Mini”):

<qnx>
<id>com.example.Mini</id>
<versionNumber>1</versionNumber>
<name>Mini</name>
<asset path="main" entry="true">main</asset>
</qnx>

打包、签名和部署

假设你有 registered with RIM to sign applications您可以将您的应用程序打包到 BAR (BlackBerry Archive) 文件中,然后使用以下命令将其部署到设备:

#Package the app and set the author to match the debug token author
blackberry-nativepackager -package arm/mini.bar bar-descriptor.xml -devMode -debugToken ~/Library/Research\ In\ Motion/debugtoken1.bar

#Deploy the BAR to the to the device
blackberry-deploy -installApp 169.254.0.1 -password pass arm/mini.bar

使用 Makefile 让事情变得更简单

您可以使用 Qt 工具让您的生活更轻松:

  1. 使用qmake -project 创建.pro file .只运行一次,后续运行将覆盖您的 .pro 文件。
  2. 运行 qmake。这将根据您的 .pro 文件生成一个 Makefile
  3. 运行 make 来构建您的项目。

更多信息

在此处查看 NDK 示例:https://github.com/blackberry/NDK-Samples和社区样本:https://github.com/blackberry/Core-Native-Community-Samples .您可以通过运行以下命令来构建、打包和部署所有这些示例到您的设备:

make CPULIST=arm EXCLUDE_VARIANTLIST=g deploy

您需要设置 DEVICEIPDEVICEPW 环境变量以匹配您的目标。

还可以查看移植指南:http://developer.blackberry.com/native/documentation/porting_getting_started.html

关于c++ - BB10 级联命令行开发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12811027/

相关文章:

c++ - OpenGL 纹理未显示

c++ - 将 QNetworkReply 写入文件

c++ - OpenGL 3.0 不能在 Windows 上使用 Qt

blackberry-10 - BB10 android 运行时推送通知

c++ - recvfrom 函数返回 -1,没有错误

c++ - 比较字符指针

blackberry-10 - 如何在黑莓 10 级联中将 var 从一个页面传递到另一个页面?

c++ - 目标 'o.le-v7-g/.moc/moc_applicationui.cpp' 的配方失败

c++ - 结构数组的指针范围和构造函数创建

c++ - 如何在避免 char 行为的同时将 uint8_t 与 I/O 流一起使用?