问题标签 [toolchain]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
148 浏览

gcc - 如何找到用于为我正在使用的 gcc 创建 makefile 的配置选项/glags?

我从一些芯片组制造商那里获得了 mips-gcc 工具链源代码和二进制文件。我想构建工具链的源代码,但我不知道用于构建源代码的配置选项/标志。有什么办法可以让我获得这些选项标志吗?

0 投票
2 回答
6671 浏览

gcc - bash: ./mips-linux-gnu-gcc: 无法执行二进制文件错误

我最近mips-linux-gnu-gcc在我的 linux 机器上安装了一个基于 i686 的交叉工具。当我想编译一些代码时,它向我显示了那个错误。

每个安装步骤之后都是http://developer.mips.com/tools/compilers/open-source-toolchain-linux/

安装 crosstool 后,我编写了一个简单的 helloworld C 文件,如下所示:

但是当我运行时:

编译器只是打印错误:

我想知道也许我在某些步骤中犯了一些错误,但我无法弄清楚。

也许你们中的一些人可以帮助我,我对这个问题感到困惑。

0 投票
1 回答
2323 浏览

gcc - Makefile:Windows 上用于 gnu 工具链的 realpath 函数(yagarto)

我正在尝试在 windows 上为 arm gnu 工具链编写一些 makefile。(yagarto.de)

但对于

我明白了

我的目标是只获得第二部分(D:/temp),第一部分(D:/privat/stm32/eclipse-juno_workspace/yagarto_test/)是我的工作目录..

在这种情况下,我认为 realpath 是一个 make 函数......知道如何只获得D:/temp吗?

0 投票
2 回答
2857 浏览

arm - ARM U-Boot 构建问题的跨工具链

我正在尝试为 Raspberry-Pi 构建自己的工具链。我知道有很多预建的工具链。这项工作是出于教育原因。我正在从头开始关注嵌入式 arm linux。并且目前成功构建了gcc和uClib。我正在为目标 arm-unknown-linux-eabi 构建。

现在谈到准备一个可引导的文件系统,我正在质疑自己关于引导加载程序构建的问题。

关于这个系统的引导加载程序的部分似乎不完整。现在我在问自己如何使用我的 arm-unknown-linux-eabi 工具链为这个系统构建一个 uboot。

我是否需要构建一个不依赖于 linux 内核调用的工具链。我的第一个研究使我指出,有不同类型的工具链依赖于操作系统(linux 内核系统调用等......)和不需要在下面有内核的工具链。有时称为“裸机”工具链或“独立”工具链。

一些消息来源提到可以使用 linux 工具链构建 U-Boot。如果这是真的,为什么以及如何工作?

如果我必须为“Bare Metal”工具链构建第二个工具链,我在哪里可以找到有关这两者之间差异的信息。我需要另一个 libstdc 吗?

0 投票
1 回答
96 浏览

c++ - 期望两个共享库构建在两个相同的平台上是否合理?

如果我构建相同的源代码,链接到相同版本的相同库,使用相同的工具链(相同的编译器,链接器等,GCC 4.4),使用相同版本的相同操作系统,(我的 Centos 5 Linux案例)但在两台不同的机器上;

假设生成的二进制文件应该是相同的是否合理?

这背后的背景是我的代码具有“未定义的行为”,它在一种配置上“有效”,但在另一种配置上无效,显而易见的答案是解决这个问题,但我很想知道我的假设是否生成的二进制文件应该是相同的正确的。

我注意到几百字节的大小差异,使用“nm”命令显示的符号位置略有不同,即使符号相同。

0 投票
2 回答
1414 浏览

linux - 为自定义 Linux 2.6.18 生成 C 工具链的问题

我有一个由硬件供应商根据版本2.6.18修改的自定义Linux内核。我需要使用最新版本的 uClibc 为MIPS架构生成一个新的工具链。

我选择了crosstool-ng工具来简化这个过程,但它在生成过程中失败了。这是错误部分的日志:

该问题似乎与 *headers_install* 规则有关。我认为它是在特定版本的内核中引入的。有趣的事实是,如果我跑

标头将安装得很好。该问题似乎与使用O=参数有关。有谁知道它是干什么用的?这个问题有解决方法吗?

0 投票
3 回答
11045 浏览

c++ - 获得 c++11 - 兼容的编译器

这一切似乎都是一团糟。
我想要的只是一个实现 C++11 的编译器,所以我可以使用<chrono>. 但我从一开始就很困惑。

目前,我通过调用 G++ 来构建程序,但是当我通过 检查版本时$ g++ -v,我得到:

gcc 版本 4.2.1(基于 Apple Inc. build 5658)(LLVM build 2336.11.00)


这是怎么回事?我在使用 G++ 吗?海合会?LLVM?我什至不知道。它们是一样的吗?


所以现在我正在尝试通过gnu.org构建和下载 GCC 4.7 ,但我不知道任何指南都在谈论什么。我从来没有见过这么多我不知道的东西的首字母缩写词。

为什么这么复杂?所有这些版本是怎么回事,其中一些只实现了 C++11 的某些部分而不是其他版本?

0 投票
2 回答
783 浏览

multithreading - 面向初学者的基于 ARM 处理器的开发板

  1. 我想买一块基于 ARM 微处理器的板子,谁能告诉我哪个是最好的(就功能而言)和成本效益?
  2. 我需要购买哪些硬件/软件工具和电缆(用于调试、IDE 等)?

注: 要测试的多线程代码,RTOS(Linux,ThreadX等),硬件调试

0 投票
1 回答
1843 浏览

android-ndk - 使用 NDK 工具链构建 SDL2

我想知道是否有人设法使用 Android NDK(r8d) 的工具链构建了新的 SDL2。

SDL2 似乎非常接近发布(从昨天开始,它不再是“正在建设中: http ://hg.libsdl.org/SDL/rev/0a3d2ec7af6d )。它带有一个 Android.mk 并且可以很好地编译以下捆绑的 README.android 文件中的说明。我的问题是,是否真的没有可用的基于 automake 的构建可用或者可以在 Android 上编译它,或者我的工具链设置有什么问题?

我已按照位于 $NDK/doc/STANDALONE-TOOLCHAIN.html 的文档说明安装了 NDK 工具链。我正在使用 gcc 4.6。这是我使用的一个环境:

配置参数:

使用相同的配置,我成功构建了 libjpeg-turbo v8 和 SDL_image。配置脚本识别交叉编译器,并构建 makefile,但是,它发现 X11 支持,看不到 OpenGL ES ... make 失败:

我检查了配置日志,我不知道“/usr/include”来自哪里。但实际上,生成的 makefile 会将 EXTRA_CFLAGS 中的那一行添加到编译器中。NDK 文档将 --with-sysroot=$SYSROOT 称为可选,我已将其包含在内以查看它是否解决了问题,但这没有帮助。作为最后的努力,我手动编辑了 Makefile,修复了该引用,现在编译器抱怨 X11.h。AFAIK Android 与 X11 无关,所以我猜整个构建树完全不适合与 NDK 一起使用。

我也尝试了不同的配置,在这里的旧线程中找到。既没有定义 -DANDROID -mandroid -fomit-frame-pointer 也没有改回 -march=armv7-a -mfloat-abi=softfp -mfpu=vfp -mthumb" 解决了这个问题。

在以前的项目中,我必须刷新 config.guess 和 config.sub 才能让我的编译器被识别。SDL 似乎没有使用这些。此外,没有 Makefile.ac 或 Makefile.am 可以使用 SDL,也没有其他平台的模板可以作为创建我自己的 makefile 的良好起点。另外,我从来不用处理makefile,我真的没有机会解决这些问题。即使它成功了,我也可能需要一个配置工具,因为我不知道 ndk-build 如何在没有配置脚本的情况下安装 SDL2。

将 SDL 源代码与项目一起编译是唯一可行但丑陋的解决方案。我想通过 make install 部署必要的 lib 和头文件。

我希望解决方案是我没有想到的非常简单和明显的事情......

0 投票
2 回答
8499 浏览

gcc - 飞思卡尔 iMX6q ARM 处理器的 gcc 选项

我正在尝试为我正在设置的工具链找出 gcc 选项,用于开发板:Sabre-lite,它基于飞思卡尔的 iMX6q 四核处理器。

现在我知道 iMX6 基本上是一个 cortex-a9 处理器,它有协处理器 vfpv3 和 neon,还有矢量图形、2D 甚至 3D 引擎。

但是,发行说明和使用指南文档对如何启用可以在 gcc 中启用的任何选项并不太清楚。

事实上,我可以“玩”的选项如下。

我应该启用其他选项吗?为什么工具链具有构建 linux kernel/uboot/packages 的默认选项:

谢谢您的帮助