使用交叉编译器为arm编译原生GCC

2023-11-30

我正在寻找为 ARM 系统创建 GCC 的本机版本,但遇到了一些麻烦。构建机器是 i686-linux。我看到的每个教程都告诉我如何设置实际的交叉编译套件(我已经使用 crosstools-ng 完成了)。但是,我没有看到任何与编译本机 ARM GCC 相关的内容。我使用的配置字符串如下,我仅使用标头设置了 sysroot。我还交叉编译并安装了 GMP 和 MPFR。

../../gcc-4.3.5/configure \
    --host=arm-unknown-linux-gnueabi \
    --build=i686-build_pc-linux-gnu \
    --target=arm-unknown-linux-gnueabi \
    --prefix=/home/vm/gcc-native/sysroot \
    --with-sysroot=/home/vm/gcc-native/sysroot \
    --enable-shared --enable-threads --disable-libmudflap --disable-libssp \
    --disable-libgomp --disable-libstdcxx-pch --with-gnu-as --with-gnu-ld \
    --enable-languages=c,c++ --enable-symvers=gnu --enable-__cxa_atexit \
    --disable-nls --disable-multilib \
    --with-gmp=/home/vm/gcc-native/sysroot/ \
    --with-mpfr=/home/vm/gcc-native/sysroot/

GCC 将构建一段时间,但随后就会消亡:

检查目标文件的后缀...配置:错误:无法计算目标文件的后缀:无法编译。

我不确定这将如何在我的系统上运行,因为我是在 i686-linux 上构建的,并且目标/主机都是 arm-linux。我现在的想法是找到一个 ltib 发行版并查看 GCC 的规范文件并尝试遵循所有步骤。由于与 std 命名空间冲突,ltib 为我的主板附带的 GCC 无法在我的系统上编译。

任何信息/链接将不胜感激!


查看 config.log 文件(可能不是顶级文件)并查看测试失败时它尝试执行的操作。只需 grep 即可cannot compute suffix消息,您应该找到正确的位(它不会位于文件的末尾)。

请注意,您需要一个工作arm-unknown-linux-gnueabi-gcc如果您想构建跨本地工具链,请在您的路径上的某个地方。 IE。您需要一个交叉编译器来构建跨本机编译器。

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

使用交叉编译器为arm编译原生GCC 的相关文章

  • 从 gitlab docker runner 启动声纳扫描仪

    我有一个 CI 工作流程 集成了 linting 作业和代码质量作业 我的 Linting 工作是一个 docker runner 从应用程序代码启动我的 eslint 脚本 然后我的代码质量工作应该启动声纳扫描仪泊坞窗实例 检查我的代码并
  • 如何修改s_client的代码?

    我正在玩apps s client c in the openssl源代码 我想进行一些更改并运行它 但是在保存文件并执行操作后 我的更改没有得到反映make all or a make 例如 我改变了sc usage函数为此 BIO pr
  • 访问 Linux 线程(pthreads)的本地堆栈

    我目前正在实现一个使用多线程但对总内存消耗有要求的应用程序 我希望有一个主线程执行 I O 并有几个工作线程执行计算 目前 我在主堆栈上有几个可供工作人员访问的数据结构 我使用 OpenMP 进行工作分配 由于主 工作者模式不能很好地与 O
  • 在 C 中使用 sqrtf():“未定义对‘sqrtf’的引用”

    我正在使用Linux Ubuntu 12 04 https en wikipedia org wiki Ubuntu version history Ubuntu 12 04 LTS 28Precise Pangolin 29 Precis
  • x86 上 SPARC 的交叉编译

    我已经看到关于交叉编译器的回复如何在 Windows 上交叉编译 C 代码 以便二进制文件也可以在 Unix Solaris HPUX Linux 上运行 https stackoverflow com questions 579695 h
  • 在 Ubuntu 上用 C 项目编译和链接 GTK 3

    我相信这不是重复的问题 在发布此问题之前我已经看过所有问题 答案 我想我这里的情况有所不同 我使用Ubuntu 12 04并下载GTK 2 和 3 我从 GNOME 网站复制了一个简单的 GTK 源代码 但是当我在终端中使用这个命令时 gc
  • 如何真正释放 Linux 中的大页面以供新进程使用?

    真的找不到太多关于此的信息 希望有人可以提供帮助 我正在假脱机使用 100GB java 堆作为大数据缓存 为了避免与文件系统缓存等内容发生冲突 并且因为它通常性能更好 我将其分配在大页面中 我保留了 51 200 x 2MB 大页面 一切
  • 是否有我可以运行的操作系统命令来确定是否在基于 Xen 的虚拟机内运行

    我可以在基于 Xen 的虚拟机中运行一个操作系统命令来告诉我它是一个虚拟机而不是物理机 我听说内核对此有一些自我意识智能 例如就像 ps 输出中的额外列之类的 我知道 vmstat 提供了 st 列 但我在运行 Linux 内核 2 6 1
  • 在单个命令中使用前缀重命名文件夹中的所有文件

    重命名带有前缀的文件夹中的所有文件 Unix 假设一个文件夹有两个文件 a txt b pdf 那么它们都应该从一个命令重命名为 Unix a txt Unix b pdf 如果您的文件名包含没有空格并且你没有任何子目录 你可以使用一个简单
  • GCC 对潜在有效的代码抛出 init-list-lifetime 警告?

    我在 Debian不稳定的GCC 9 3 0上运行 我从事的一个项目最近发生了变化 引入了类似于下面的代码 include
  • 基于 Windows 8 ARM 的平板电脑上的 VB6

    随着 Windows 8 将支持 VB6 我的问题是 Microsoft 是否在任何地方表示 是或否 VB6 应用程序将在基于 ARM 的平板电脑上运行 如果没有 是否有任何 ARM 模拟器 以便我们可以在 Windows 8 ARM 平板
  • Alsa 带有来自调制解调器的 PCM 接口

    我有一个基于 imx28 CPU 的定制板 CPU 的串行端口连接到调制解调器的 PCM 输出 我必须为调制解调器的 PCM 接口开发一个驱动程序 使其成为 ALSA SoC 的一部分 您能指出内核树 中与我的设置重新组合的一些驱动程序吗
  • 为什么使用Python的os模块方法而不是直接执行shell命令?

    我试图了解使用Python的库函数执行特定于操作系统的任务 例如创建文件 目录 更改文件属性等 背后的动机是什么 而不是仅仅通过执行这些命令os system or subprocess call 例如 我为什么要使用os chmod而不是
  • 如何使用libaudit?

    我试图了解如何使用 libaudit 我想接收有关使用 C C 的用户操作的事件 我不明白如何设置规则 以及如何获取有关用户操作的信息 例如 我想获取用户创建目录时的信息 int audit fd audit open struct aud
  • Linux TCP服务器:在接受连接之前读取客户端的IP地址

    Related C Winsock API如何在接受连接之前获取连接客户端IP https stackoverflow com questions 716209 c winsock api how to get connecting cli
  • 原生 Linux 应用程序可像 ResHacker 一样编辑 Win32 PE

    我想运行自动修改 dll服务 用户提交特定的 dll 我在服务器上修改它 然后用户可以下载 dll的修改版本 是否有任何本机 Linux 应用程序提供常见的 Win32 PE 修改功能 例如图标 字符串 加速器 对话等 至少提供命令行或脚本
  • 如何在编译C代码时禁用警告?

    我正在使用 32 位 Fedora 14 系统 我正在使用编译我的源代码gcc 有谁知道如何在编译c代码时禁用警告 EDIT 是的 我知道 最好的办法是修复这些警告以避免任何未定义 未知的行为 但目前在这里 我第一次编写了巨大的代码 并且在
  • 退出 bash 脚本但保持进程运行

    我正在运行服务器 需要使用参数执行以下命令 这些脚本目前工作得很好 但问题是当我运行脚本时我无法返回到控制台 它在控制台中保持运行 如果我强行停止它 那么该过程也会停止 我想继续运行该进程并返回到控制台 bin sh php home st
  • 在 Ubuntu 上纯粹通过 bash 脚本安装 mysql 5.7

    我想要一个无需任何手动输入即可安装 MySQL 5 7 实例的 bash 脚本 我正在关注数字海洋教程 https www digitalocean com community tutorials how to install mysql
  • gnome-terminal 新选项卡,使用别名作为要执行的命令

    我已经创建了一个别名 bashrc文件如下 alias myproject cd Desktop myproject 当我重新启动终端时保存文件后 输入myproject带我到项目目录 但是当我尝试使用别名作为新的命令参数时gnome te

随机推荐

  • 使用信用卡付款的 Paypal Express Checkout 订阅

    问题 是否可以通过 Paypal api Express Checkout 设置订阅 以便您可以通过信用卡和 Paypal 登录进行支付 Paypal 登录没问题 但目前无法使用信用卡 我已设置 NVP SOLUTIONTYPE Sole
  • 参数数量无效:没有绑定参数

    我有一个使用 php 和 mysql 的静态聊天应用程序 下面是在聊天框中显示消息的代码 sql SELECT id msg time msg from msg to from msg WHERE msg from SESSION user
  • 使用 GSON 反序列化嵌套 JSON 字符串

    全部 我有以下内容JSON输出 字符串 来自 JIRA API 的响应 expand names schema startAt 0 maxResults 50 total 1 issues expand operations version
  • Java:找到大写字母时分割字符串

    我认为这是一个简单的问题 但我无法找到一个简单的解决方案 比如说 少于 10 行代码 我有一个String例如 thisIsMyString 我需要将其转换为String this Is My String 请注意第一个字母不是大写 您可以
  • Visual Studio代码:在输入代码片段时替换字符大小写

    我正在尝试为 Visual Studio Code 和 TypeScript 编写代码片段 到目前为止 我成功地镜像了这样的输入单词 import 1 Name Component from 1 name component 当我在第 1
  • 集群环境下如何使用redis扫描?

    我正在使用 spring redisTemplate 和 redis 扫描 它可以在单节点的情况下查找 但在集群环境下就不行了 我无法获取数据 有没有办法在集群环境下获取扫描数据 这是我的 spring redisTemplate 代码 S
  • 将一个函数作为参数传递给另一个函数

    我看到一个函数像这样传递 sigma 3 e 2 svmTrain X y gaussianKernel X y sigma 这样的函数传递是怎么回事 有人能解释一下吗 语法 X y gaussianKernel X y sigma 创建一
  • Visual Studio:通过电源控制台添加项目文件失败

    我的任务是在一个解决方案中添加 384 个现有项目 以便用项目依赖项替换二进制文件依赖项并使用 msbuild 进行构建 为了实现这一目标 我尝试使用 Visual Studio API 来自动将项目添加到解决方案中 我实际上是 Windo
  • 如何从画布中添加和删除(多个)图像?

    我是画布 HTML5 新手 我必须在画布上设计一个绘画应用程序 有一个功能 例如在画布上动态添加所选图像 通过鼠标移动 以及删除和拖动添加的图像的功能 与文本添加相同 现在我的问题是我们如何从画布中删除图像 注意 添加到画布中的图像没有固定
  • 如何在TYPO3 CMS后端重命名副标题

    如何为作者重命名 TYPO3 CMS 后端字段 即提到的 csc styled content 内容元素字段 一般来说 覆盖标签名称可以通过后端的 Page TSconfig 来完成 下面的例子修改了标签subheader field TC
  • 你调用的对象是空的

    我有一个单元格类 public class Cell public enum cellState WATER SCAN SHIPUNIT SHOT HIT public Cell currentCell cellState WATER Me
  • 静态变量的动态初始化阶段

    该标准特别指出 静态持续时间变量 命名空间范围和类静态成员 的动态初始化不必在执行 main 之前发生 命名空间范围的对象的动态初始化 8 5 9 4 12 1 12 6 1 是否在 main 的第一个语句之前完成 是由实现定义的 IS 3
  • Jenkins-pipeline 从 groovy 中的属性文件中提取并设置变量

    首先 我将管道完全编写为 groovy 以便签入 git 请不要提供任何gui必要的解决方案 我的问题陈述是 从文件中提取变量并将其设置为等于 groovy 对象 我尝试过的 def SERVICE MAJOR VERSION node r
  • JavaScript Promise 通过 setTimeout 解决

    我不明白为什么第一个 setTimeout 函数起作用 但第二个函数不起作用 当我运行第二个 setTimeout 时 第一个被注释掉 但不是 3 秒后解决 而是立即解决 我对整个 承诺 事物很陌生 我正在学习的教程经常使用带有 setTi
  • Android 应用程序的数据大小增加是 Glide 造成的吗?

    当我使用 glide 库打开并加载少量 100 张图像时 Android 应用程序的数据大小增加了 13MB 我没有管理 glide 的任何缓存属性 全部设置为默认值 glide 的磁盘缓存是否有可能导致此问题 注意 图像大小范围为 100
  • 不可重复读和幻读有什么区别?

    有什么区别不可重复读 and 幻读 我已阅读维基百科的隔离 数据库系统 文章 但我有一些疑问 在下面的示例中 将会发生什么 不可重复读 and 幻读 交易A SELECT ID USERNAME accountno amount FROM
  • 引用变量在内存中是如何表示的?

    int num 0 int ptrNum num int refNum num 内存表 1 和表 2 中引用变量的正确表示哪一个是 如果表2 那么为什么指针是对象而引用不是 如果两种表示都不正确 请提供正确的表示并解释为什么引用不是对象 内
  • 迭代枚举类实例

    有没有一种简单的方法可以迭代 Ceylon 中类的所有枚举实例 就像values 对于 Java 枚举 abstract class Suit of hearts diamonds clubs spades shared formal St
  • 如何在 C 中捕获进程输出?

    有没有用 C 语言模拟 PHP 系统的情况 man system说 那system返回命令的状态 但我需要输出 就像在 PHP 中一样 当然 我可以使用管道来实现这一点 但是有什么标准的方法吗 您可以利用popen相关函数为 command
  • 使用交叉编译器为arm编译原生GCC

    我正在寻找为 ARM 系统创建 GCC 的本机版本 但遇到了一些麻烦 构建机器是 i686 linux 我看到的每个教程都告诉我如何设置实际的交叉编译套件 我已经使用 crosstools ng 完成了 但是 我没有看到任何与编译本机 AR