【问题标题】:How to create CMake cross-compiling toolchain for VxWorks?如何为 VxWorks 创建 CMake 交叉编译工具链?
【发布时间】:2019-08-17 17:18:47
【问题描述】:

我想通过 CMake 生成 vxworks 6.x makefile 和工作区,并且 CMake 中不支持 VxWroks。如何为我的平台和正确的工具链创建相关生成器?

我是 CMake 的新手。我设法创建了一些为 windows VS 2015 和 Ubuntu 生成的测试项目。

我尝试使用 GNU 和 DIAB 编译器为 VxWorks 6.x 创建一个,但在 CMake 中不支持它。

我读到了一些叫做工具链、交叉编译和平台文件 (.cmake) 的东西,但我不明白如何编写它以及将它放在哪里。

我在互联网上看到了很多示例,但不明白我是否需要使用新平台文件重建 CMake,或者只是从工具链或 CMakeLists 中引用它们。

我正在使用 CMake 3.14 的 gui 版本。

我将生成器设置为:Eclipse CDT4 - Unix Makefiles。

当我选择交叉编译选项并提供名称 VxWorks、版本、c++ 编译器 (gnu/4.1.2-vxworks-6.6/x86-win32/bin/c++ppc.exe) 时,它写道编译器未知,我需要创建 Platform/VxWroks。它无法构建简单的测试程序。

我看到有人成功创建了所有必需文件的帖子: Do (Cross-compile) platform files require an include guard?

但我无法下载一些示例来测试它以及如何做的教程。

我希望能够使用 CMake for VxWorks 6.x 创建一个生成器来编译库和可执行文件 (.vxe),但不知道该怎么做。

【问题讨论】:

  • 在 CMake 中使用工具链不需要重建 CMake。当您阅读了有关工具链的示例时,您可能会开始编写它:设置编译器、sysroot、标志等。然后尝试使用工具链构建您的示例并检查 CMake(即由 CMake 生成的 Makefile)传递给编译器和链接器的实际选项。如果您在使用工具链时遇到错误并且无法解决,请具体询问该错误。
  • 工具链不需要重新编译CMake,但是它要求我创建的Platform/VxWorks呢?

标签: c++ cmake cross-compiling vxworks


【解决方案1】:

CMake 在 VxWorks 6 中没有得到很好的支持,但在 VxWorks 7 中的 Workbench/Eclipse GUI 环境中支持 CMake。这两个版本都不支持命令行 cmake,例如“cmake。”

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-31
    • 1970-01-01
    • 1970-01-01
    • 2021-08-30
    • 2013-10-21
    • 1970-01-01
    • 2016-03-02
    • 2021-09-07
    相关资源
    最近更新 更多