4、QNX SDP 7.0/8.0 下载与安装

好,咱们继续往下走。上一章我们把虚拟机环境搭好了,现在该请主角登场了——QNX SDP(Software Development Platform)。

说实话,我第一次装QNX SDP的时候,光找下载入口就花了半小时。官网的导航逻辑,嗯,有点特别。所以这一章,我把整个流程拆成几个关键步骤,你跟着走就行。

4.1 注册QNX账户

这一步绕不开。你得先有个BlackBerry QNX的账号,才能下载SDP。

  1. 打开QNX官网(qnx.com),点击右上角的「Sign In / Register」。
  2. 选择「Create Account」,填邮箱、公司、职位等信息。
  3. 验证邮箱,设置密码。

小提示: 我个人习惯用公司邮箱注册,个人邮箱也行,但后续申请License时,公司邮箱通过率更高。别问我怎么知道的,踩过坑。

4.2 获取License

注册完账号,别急着下载。你得先拿到License文件,不然装好了也跑不起来。

登录后,进入「My Account」→「License Management」。这里你会看到两种License:

类型 说明
Evaluation License 30天试用,功能完整,适合学习
Commercial License 正式授权,按项目或年付费

我建议初学者先申请Evaluation License。流程很简单:点「Request Evaluation」,填一下项目描述,几分钟就能收到邮件。

注意: License文件是一个 .lic 后缀的文本文件。下载后请妥善保存。我曾经因为重装系统弄丢过一次,重新申请又等了两天,很耽误事。

4.3 下载SDP安装包

拿到License后,回到「Downloads」页面。你会看到QNX SDP 7.0和8.0两个版本。

怎么选?我个人的建议是:

  • QNX SDP 7.0:稳定,资料多,适合工业项目
  • QNX SDP 8.0:新特性多,支持ARMv8-A,但文档还不够全

如果你是初学者,我推荐从7.0开始。为什么?因为网上能找到的教程、论坛帖子,大部分都是基于7.0的。你遇到问题,搜一下就有答案。

下载文件大概有2-3GB,是个 .run 文件。嗯,耐心等吧,泡杯咖啡的功夫。

4.4 SDP安装步骤详解

下载完成后,把 .run 文件传到你的Ubuntu虚拟机里。然后执行:

chmod +x qnx-sdp-7.0.0-xxxxxxxx.run
sudo ./qnx-sdp-7.0.0-xxxxxxxx.run

安装界面是图形化的,但别高兴太早——它其实是个命令行包装的伪图形界面。你按Tab键切换选项,按空格选中,按回车确认。

安装过程中,它会问你要License文件。把之前下载的 .lic 文件路径填进去就行。

安装路径我建议用默认的:/opt/qnx700/。当然你也可以改,但后续配置环境变量时,路径别搞错。

核心要点: 安装完成后,检查一下 /opt/qnx700/ 目录下有没有 hosttarget 两个子目录。有的话,说明安装成功了。

4.5 环境变量配置

安装完只是第一步。你得让系统知道QNX装在哪了。这就靠环境变量了。

打开 ~/.bashrc 文件,在末尾添加:

export QNX_HOST=/opt/qnx700/host/linux/x86_64
export QNX_TARGET=/opt/qnx700/target/qnx7
export PATH=$QNX_HOST/usr/bin:$PATH

然后执行 source ~/.bashrc 让它生效。

这三个变量分别干什么用?

  • QNX_HOST:指向主机端的工具链,编译器、链接器都在这里
  • QNX_TARGET:指向目标端的系统文件,头文件、库文件都在这里
  • PATH:把QNX的工具链路径加到系统路径里,这样你才能直接敲 qccmake 这些命令

验证一下:

echo $QNX_HOST
echo $QNX_TARGET
which qcc

如果 which qcc 返回了路径,恭喜你,环境配好了。

避坑指南: 我曾经遇到过一个问题——明明配了环境变量,但编译时总报找不到头文件。查了半天,发现是 QNX_TARGET 路径写错了,少了个 qnx7 子目录。你配置的时候,一定仔细核对路径。

4.6 验证安装

最后一步,写个简单的Hello World测试一下。

#include <stdio.h>

int main() {
    printf("Hello QNX!\n");
    return 0;
}

用QNX的编译器编译:

qcc -Vgcc_ntox86_64 hello.c -o hello

如果没报错,生成了 hello 可执行文件,说明你的QNX SDP已经可以正常工作了。

嗯,到这里,QNX开发环境就搭建完毕了。下一章,我们聊聊怎么用这个环境去编译和调试第一个QNX程序。