【发布时间】: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