gpt4 book ai didi

cmake - 交叉编译 - 检索 objective-c PU 和版本

转载 作者:行者123 更新时间:2023-12-01 06:34:16 27 4
gpt4 key购买 nike

我正在使用 cmake 为 VxWorks 进行交叉编译。当我第一次运行 cmake 时,我必须提供有关编译器、目标操作系统等的信息。

在交叉编译对话框中,我设置了三个目标系统设置:

  • 操作系统
  • 版本
  • 处理器

  • (后跟编译器等)

    虽然我可以使用 CMAKE_SYSTEM_NAME 检索第一个,我无法获得版本和处理器。
    两者都返回一个空字符串。

    下面是一个例子:
    MESSAGE("CMAKE_SYSTEM_PROCESSOR:   ${CMAKE_SYSTEM_PROCESSOR}")
    MESSAGE("CMAKE_SYSTEM_VERSION: ${CMAKE_SYSTEM_VERSION}")

    输出:
    CMAKE_SYSTEM_PROCESSOR:   
    CMAKE_SYSTEM_VERSION:

    我的 Cmake 版本是 2.8.10.2,目标操作系统是 VxWorks(如果这很重要 - 编译器是 WindRiver GNU)。

    如何获取一开始设置的版本和处理器?或者,如果我交叉编译到 cmake 未知的操作系统,这是不可能的吗?

    (顺便说一句。编译工作正常)

    最佳答案

    到目前为止,这似乎是不可能的。我一直得到空字符串。

    但是,有一个可行的解决方案,我想这是更好的方法:

    前:

    我指定了交叉编译设置(编译器和目标系统,请参阅问题),然后它在 CMake 列表中的 VxWorks 特定部分上运行(使用 if( VxWorks ) 检查以确保在使用其他系统时不会执行它)。

    现在(解决方案):

    我写了一个 工具链文件 平台文件 用于 VxWorks 和所需的处理器。

    缺点:

  • 我必须写一些额外的文件:
  • 工具链文件
  • VxWorks 平台文件
  • 每个处理器(和处理器类型,Gnu 和 Diab)的更多平台文件

  • 优点:
  • CMake 列表现在更清晰
  • 单独的项目和目标设置
  • 分离系统和处理器设置 - 以非常清晰的方式轻松添加新处理器,但保留系统设置
  • 我在工具链文件中写了一些设置,CMake 加载了相关的系统/处理器设置
  • ...
  • 关于cmake - 交叉编译 - 检索 objective-c PU 和版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16550304/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com