问题标签 [gnu-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 回答
96 浏览

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

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

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

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

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

0 投票
1 回答
2051 浏览

gcc - 带有 Eclipse 的 GNU blackfin 工具链所需的教程

任何人都知道在 Windows 上使用 GNU blackfin 工具链和 Eclipse 的好教程吗?

我正在尝试在 blackfin 上开发裸机应用程序,并且我已经安装了工具链和 eclipse C/C++ Juno,但我无法编译。目前我得到了make:***没有规则使目标“全部”错误,但我发现自己迷失了许多其他事情。

提前谢谢了,

哈桑。

编辑:我已经阅读了一些关于“make”程序的信息,并决定启动一个单文件测试项目来学习命令行工具链(没有 eclipse 环境)。这是我的 main.c 和相关的 makeFile:



下面是在 cmd 控制台上运行 make 命令的结果:

这产生了 .o 和(据说)elf 文件。这是尝试使用工具链模拟器运行 elf 文件的结果:

根据http://docs.blackfin.uclinux.org/doku.php?id=toolchain:sim,这应该是在虚拟模式下运行模拟器。(不确定我是否应该提供其他文件)

另外我不确定输出文件(bfin_test)是否实际上是一个elf文件,或者它是否可以使用模拟器(bfin-elf-run)运行。但如果是这样,我想知道为什么我会遇到这样一个看似简单的程序的分段错误。有人知道吗?请注意,将 main 更改为仅包含“return 0;”时,我得到了同样的错误。

有人可以告诉我哪里出错了。

再次感谢,

0 投票
1 回答
1321 浏览

cross-compiling - 在 buildroot 中向外部工具链添加 C++ 支持

我正在使用 buildroot 版本 2011.11 来交叉编译我的应用程序。我正在尝试将 oprofile 添加到我的应用程序中,并且 oprofile 依赖于 c++ 支持。但是当我使用 make menuconfig 检查时,在工具链下,我们的工具链类型被选择为外部工具链。工具链是CodeSourcery M68K uClinux 4.4.53,我们选择了自动下载工具链的框。

当我将其更改为 Crosstool-NG 工具链时,我得到了“启用 C++ 支持(新)”选项,但对于我们(外部工具链),此选项不可用。

请帮助我在我的构建环境中添加 c++ 支持

谢谢

0 投票
2 回答
4532 浏览

assembly - ARM 程序集:错误指令“mov32”

我想将一个 32 位常量加载到一个寄存器中,我发现了一个伪指令“mov32”,它可以做到这一点(mov32 伪指令)。然后我编写了一个汇编文件,其中包括:

并使用 linaro 工具链(版本 13.04)编译它:

但它失败了消息:

不知道是不是统一汇编语言的问题。以防万一,我在源代码中写了“.syntax unity”并再次测试,但也失败了。GNU 工具链是否支持“mov32”、“ldr r0、=address”等 ARM 伪指令?如果是,我该如何解决这个问题?谢谢。

0 投票
0 回答
271 浏览

gcc - 构建 gcc 以在 arm 上运行

我对 Linaro gcc 有一些问题。包括 Durig 构建臂图像 gcc 包。但结果 gcc 命令工作,但没有标题,也没有 crtl1.o。

有人可以建议我如何使用完整的 gcc 工具链为 arm 构建图像。PS我不需要Linux目标上的跨平台编译器。它应该在 arm 平台(板载)上运行 gcc。

0 投票
3 回答
15243 浏览

linker - Arm sourcery 工具链链接错误

我想在我的一个函数中使用标准 c 函数

错误来了

我的makefile是这个

在目标中,所有链接都失败了。我已经尝试了带有 arm-elf 工具链的示例,但我也遇到了一些错误。我已经用谷歌搜索了很多,但没有找到任何解决方案。

0 投票
2 回答
348 浏览

c - 哪里可以找到 GNU 工具包的好教程?

我曾在 Windows 平台上使用 Visual Studio 作为 IDE 在 C# 中编写了一个应用程序,但我现在已经切换到 linux 操作系统并使用 VI、sublime text 和 gedit 到目前为止在 linux 中编程(使用 C)。
虽然我不想争论是否使用 IDE,这是个人选择,但很多人建议,如果你想深入了解程序或系统内部发生的事情,你不应该使用IDE 的。即使在“艰难地学习 C”中,也有人建议这样做。
所以,我很期待学习 GNU 工具包(gcc、gdb 等),这样我就可以使用这些工具提高我的编程技能。我已经开始使用 vi 编辑器了。
唯一的问题是我找不到关于这些的一些好的教程。
到目前为止,我学到的任何东西要么来自与 SO 上的这些工具相关的问题,要么是通过man在终端上使用命令。
我知道学习曲线相当陡峭,但我愿意为此付出我所有的时间和精力,我相信学习这些工具一定会让我受益匪浅。
任何人都可以指出一些好的教程吗?

0 投票
3 回答
133 浏览

bash - 对文件中的各个行进行排序

我有一个文件,它有很多行,每行都包含一个逗号分隔的列表。我想对这些行中的每一行进行排序。

如果我只有一行,那将很容易:

但是,如果我在我的文件中执行此操作,它会将所有我不想要的行混为一谈。我该如何限制这个?

0 投票
3 回答
29783 浏览

linux - 配置:错误:无法运行 /bin/sh

我正在尝试按照http://openrisc.net/toolchain-build.html关于 Fedora Virtual Box Image 的指南为 OpenRISC 构建 GNU 工具链。

我收到错误消息

当我尝试配置 gcc 时。

我是 Linux 新手。我在网上找不到任何解决方案。非常感谢任何解决该问题的帮助。

0 投票
1 回答
213 浏览

cross-compiling - 在交叉编译中发现大问题,jamvm

我一直在尝试为嵌入式 linux(2.6)交叉编译 jamvm(包括 GNU 类路径),但我被困在一个微妙的地方。

我会尝试总结一下:在经历了很多错误之后,我终于为我的架构编译了包,但是虽然我在 ./configure 中指定了 --enable-static,但当我尝试运行 jamvm 时,它抱怨找不到 GLIBC 2.4 . 问题是我有 2.3.5 版本并且为我的架构编译 2.4 暂时不是一个选择(这意味着要开始一个全新的问题)。

我怀疑问题出在使用与嵌入式目标支持的工具链不同的机器上构建。

问题是我知道与我的 CPU 匹配的确切 gcc、glibc、binutils 和 linux 内核头文件,但问题是我不知道如何将这些信息合并到交叉编译/构建过程中。

但是,假设我的机器使用不同的工具链这一事实会影响交叉编译,也许我错了。

简单地说,我需要交叉编译 jamvm,它不会抱怨 glibc 2.4 或嵌入式系统不支持的任何其他库(假设我知道适合我的架构的正确工具链)

我非常感谢有关此问题的任何帮助。如果我的推理不正确,我也希望能对这个话题有所了解。