与 CMake 交叉编译时的 Makefile 生成器规范

2024-02-19

我有两件事无法弄清楚。 (1)使用时CMake-GUI,我们可以指定makefile生成器。我将使用 Debian Linux 交叉编译 Raspberry PI。我找不到相关的生成器。我必须选择哪种发电机? 我有toolchain-rpi.cmake如下。

INCLUDE(CMakeForceCompiler)

SET(CMAKE_SYSTEM_NAME Linux) # this one is important
SET(CMAKE_SYSTEM_VERSION 1)  # this one not so much

SET(CMAKE_C_COMPILER   $ENV{RPI_CC}/bin/arm-bcm2708hardfp-linux-gnueabi-gcc)
SET(CMAKE_CXX_COMPILER $ENV{RPI_CC}/bin/arm-bcm2708hardfp-linux-gnueabi-g++)
SET(CMAKE_AR           $ENV{RPI_CC}/bin/arm-bcm2708hardfp-linux-gnueabi-ar)
SET(CMAKE_LINKER       $ENV{RPI_CC}/bin/arm-bcm2708hardfp-linux-gnueabi-ld)
SET(CMAKE_NM           $ENV{RPI_CC}/bin/arm-bcm2708hardfp-linux-gnueabi-nm)
SET(CMAKE_OBJCOPY      $ENV{RPI_CC}/bin/arm-bcm2708hardfp-linux-gnueabi-objcopy)
SET(CMAKE_OBJDUMP      $ENV{RPI_CC}/bin/arm-bcm2708hardfp-linux-gnueabi-objdump)
SET(CMAKE_STRIP        $ENV{RPI_CC}/bin/arm-bcm2708hardfp-linux-gnueabi-strip)
SET(CMAKE_RANLIB       $ENV{RPI_CC}/bin/arm-bcm2708hardfp-linux-gnueabi-tanlib)

# where is the target environment 
SET(CMAKE_FIND_ROOT_PATH  $ENV{RPI_CC}/arm-bcm2708hardfp-linux-gnueabi)

# search for programs in the build host directories
SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)

# for libraries and headers in the target directories
SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

(2) 当我在 Windows7 的命令窗口中运行 cmake 时,它​​默认为 Visual Studio 10 进行编译(我没有选择任何选项,它在默认情况下发生)如下-- Building for: Visual Studio 10。我如何更改它以针对 Debian Linux 进行构建? 谢谢


(根据文档http://www.cmake.org/Wiki/CMake_Cross_Compiling http://www.cmake.org/Wiki/CMake_Cross_Compiling)

你需要一个工具链文件 http://www.cmake.org/Wiki/CMake_Cross_Compiling#The_toolchain_file,并且您必须通过定义 CMake 变量来指示 CMake 使用它CMAKE_TOOLCHAIN_FILE.

更重要的是,如果您想使用该工具链进行构建,您的 CMake 生成器必须是“Unix Makefile”。这意味着构建工具将是make而不是 Visual Studio。因为我不确定CMake是否可以制作使用gcc交叉编译器的Visual Studio项目。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

与 CMake 交叉编译时的 Makefile 生成器规范 的相关文章

随机推荐

  • 如何忽略通过 http 发送的属性

    我的应用程序中有一个接口 用于维护我想要发送到数据库的属性以及我不发送到数据库的属性 具体来说 我维护一个名为state可以设置为open or null 关闭 然后触发 Angular2 的动画state https angular io
  • RemoteActor 取消注册 actor

    我正在玩 RemoteActors 现在我想知道 如果我关闭 RemoteActor 会发生什么 该 Actor 可通过 RemoteActor alive 和 RemoteActor register 来使用 我找不到两者的逆 活着和注册
  • 如何在java中使用lucene添加自定义停用词

    我正在使用 lucene 删除英语停用词 但我的要求是删除英语停用词和自定义停用词 下面是我使用 lucene 删除英文停用词的代码 我的示例代码 public class Stopwords remove public String re
  • 从 Mastercard/VISA 借记卡/信用卡读取 EMV 数据 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在尝试构建一个应用程序来读取 编码卡上的数据 如 PAN 到期日 客户名称 PIN 等信息 到目前为止 我发现我需要发送 APDU
  • 导航抽屉图标未显示(Sherlock 操作栏)

    让导航抽屉与 sherlock 操作栏配合使用 但我无法显示 3 行图标 如 gmail 而不是正常的向上按钮 getSupportActionBar setIcon R drawable myIcon getSupportActionBa
  • “ExecuteScalar:连接属性尚未初始化。”

    我是 C 新手 目前在不调试的情况下运行该程序时遇到一些问题 这是我的项目的登录页面 我创建了一个基于服务的数据库 我想连接到数据库中表 Table 中的用户名和密码数据 但是 我遇到了一个问题 ExecuteScalar 连接属性尚未初始
  • R 函数在 left_join 中进行故障恢复?

    我有 20 多个不同的数据表 其中的数据由相同的编码系统 北美行业分类系统 NAICS 索引 我想将它们连接到一个表中 问题是每个表中都有不同级别的详细信息 当我加入时 我希望通过失败编码系统的层次结构直到找到匹配来找到最佳匹配 一个常规的
  • 如何在 VBA 中处理工作表(unicode VBA 显示和处理)中西里尔字母引起的错误(#REF)?

    我想从特定的工作簿中获取数据 有几十个工作簿 循环部分工作正常 但下面的代码不起作用 因为工作表采用西里尔字母 并且它们给出了值 到sheet As String范围 我想问如何在不打开工作簿的情况下强制重命名它 无需Workbook Op
  • Laravel 4 Auth:尝试不起作用

    我在使用 Laravel 4 Auth attempt 方法时遇到了困难 遵循了正确的文档 阅读了几个 SO 线程 但我仍然无法让它工作 userData array email gt email protected cdn cgi l e
  • MySQL 使用日期时间进行选择,仅按日期分组

    是否可以从 MySQL 表中选择日期时间字段并仅按日期分组 我正在尝试输出多次发生的事件列表 并按发生日期分组 我的表 数据如下所示 时间戳是日期时间字段 1 2010 03 21 18 00 00 Event1 2 2010 03 21
  • 如何使用 Perl 将字符串转换为浮点数?

    有没有类似的功能int 哪个可以将字符串转换为浮点值 我目前正在使用以下代码 input int substr line 1 index line 1 我需要转换返回的字符串substr浮 只需使用它即可 在 Perl 中 看起来像数字的字
  • 如何根据一定的标准对列表进行排序

    例如我有一个清单 list word1 0 234 word2 0 2 word3 0 5 word4 0 67 我想按重要性对其进行排序 重要性是指该值距 0 5 有多远 排序后的列表应该是 list word2 0 2 word1 0
  • Windows Batch 读取文件并将行解析为标记和变量

    通过搜索这个网站并学习 Windows 批处理脚本这一荒谬的语言 我已经取得了很大的进展 但我现在陷入了困境 我有一个行数可变的文本文件 每行看起来像 AA8315 United States N777AN American Airline
  • 如果对象已经是同一或另一个状态树的一部分,则无法将对象添加到状态树

    mobx state tree module js f7d3 2154 未捕获错误 mobx state tree 如果对象已经是同一或另一个状态树的一部分 则无法将对象添加到状态树 我只是通过过滤另一个状态来得到这个错误 const da
  • JsDoc命名空间

    我正在使用 JsDoc 编辑 js 文件以获得干净的文档 我的结构非常简单 Finds an object param string prop Property Array prototype findObject function fin
  • 将 RGB 颜色存储在 MySQL 中。 char 还是 int 更好?

    我使用 PHP 从 MySQL 数据库查询 CSS 设置 然后将其回显到 CSS 样式表中 示例片段如下
  • ClickOnce 应用程序用户设置位置

    我目前正在开发一个 ClickOnce 应用程序 用于转换 CSV 文件以进行数据库更新 该程序要求用户能够更改数据库更改的配置文件 并更改填充应用程序中下拉列表的 XML 文件 现在我知道这些文件保存在 user appdata 文件夹中
  • 为什么我的 Perl 祝福文件句柄不使用“can('print')”返回 true?

    由于某种原因 我无法让文件句柄与 Expect pm 一起使用log file方法 我最初得到的帮助是如何将文件句柄传递给 Perl Expect 的 log file 函数 https stackoverflow com question
  • 在 pymongo 中快速或批量更新

    如何在 pymongo 中进行批量更新插入 我想更新一堆条目 但一次更新一个非常慢 几乎相同问题的答案在这里 MongoDB 中的批量更新 更新插入 https stackoverflow com questions 4444023 bul
  • 与 CMake 交叉编译时的 Makefile 生成器规范

    我有两件事无法弄清楚 1 使用时CMake GUI 我们可以指定makefile生成器 我将使用 Debian Linux 交叉编译 Raspberry PI 我找不到相关的生成器 我必须选择哪种发电机 我有toolchain rpi cm