0

我正在尝试为 TI OMAP4 Pandaboard 构建操作系统映像。下载的 BSP 可以在没有 gcc g++ 编译器的情况下构建,但非常有限。我认为在 QNX Momentics IDE 中添加工具链非常困难,因为要添加的文件太多。我可以手动修改构建文件来做到这一点吗?如果可能的话,请给我一个例子。提前致谢。

4

2 回答 2

2

不,不可能在您的 TI OMAP4 Pandaboard 上运行 g++(除非您使用在 X86 平台上运行的现有 QNX 工具链从 ARM 平台的源代码构建 g++)。

为什么不可能:QNX 只为基于 X86 的主机发布构建工具。当前支持的主机操作系统包括 Windows、Linux 和 QNX 的一些变体,但前提是主机硬件是基于 X86 的。

可能您实际上并不想在目标硬件上构建您的库;实际上在哪里进行构建并不重要(除非在非常特殊的情况下,您基于用户输入构建一些源代码等)

您需要做的是使用 ARM 工具链在您的开发主机上构建您的库(如果您想使用高级工具,则​​为 QCC;如果您想使用熟悉的 g++ 接口,请使用 ntoarmv7-g++)。获得二进制文件后,您可以将其包含在 .ifs 文件中。您只需要在 .build 文件中包含一行,类似于以下示例:

/path/on/targetfs/yourbinary=/path/on/buildmachine/yourbinary

如果您的构建环境配置为使 mkifs 找到您的二进制文件,那么您可以省略“path/on/buildmachine”部分。

如果您对 /proc/boot 下的目标上的二进制文件感到满意,那么您也可以省略 "/path/on/targetfs/ 部分。

为了便于开发,通常将二进制文件存储在带有 FAT 文件系统的 SD 卡上会更方便。然后,您可以将二进制文件复制到 SD 中,而无需重建 .ifs 文件。

最后,一旦您有经验,您将希望通过 CIFS 或 NFS 导出主机文件系统的一部分,并直接从您的目标挂载它。这将省去在每个构建周期中复制文件(并可能重新启动目标)的所有麻烦。但这与您最初的问题相去甚远。

于 2013-12-03T03:38:51.810 回答
1

认为您正在尝试让 QNX C/C++ 编译器在您的目标板上运行。正确的?

如果是这样,您无需安装 Runtime Kit,而是安装 QNX 软件开发平台,您应该可以开始使用了。

您也可以使用System Builder定制您的 QNX 操作系统,但这比仅使用 QNX SDP 更难。

另一个注意事项:QNXqcc用于 C 和QCCC++ 而不是gcc. 它们都gcc在后台使用,但要在 QNX 上编译,请qcc使用gcc.

于 2013-11-20T15:05:52.350 回答