问题标签 [linux-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 投票
0 回答
246 浏览

android - Gradle 'MyApp' 项目刷新失败。一种奇怪的错误

我最近将 Android Studio 更新为 Android Studio 2.1.2。我遇到了一个奇怪的错误。错误打印在下面。当我刚刚创建新的 android studio 项目时会发生这种情况。

注意:我使用的是 java8,模块 gradle.build 文件如下所示。由于我刚刚创建了项目,因此我没有添加任何 NDK 相关文件。

0 投票
2 回答
7918 浏览

c++ - Cmake 构建因 CMAKE_AR-NOTFOUND 失败(找不到 cr exe)

cmake构建失败

当我检查构建文件夹 ar 未设置。x86_64-linux\gtest-native\1.7.0-r5\build\CMakeCache.txt

如何在 cmake 中设置 ar ?

当我看到输出下方的 cmake 配置时。cmake 自动找到 g++ 以及为什么它没有检测到 ar

当我手动检查机器时,它可用。

0 投票
2 回答
887 浏览

c++ - C/C++ Cyanogenmod 如何使用不同版本的工具链编译内核?

我正在尝试为 Cyanogenmod 13 编译内核。我收到错误消息

我在这里读到了。我需要使用 4.7 编译我的内核。在 cyanogenmod 构建期间如何选择工具链的版本?

0 投票
1 回答
1425 浏览

linux - gcc 可以在没有交叉编译的情况下为 Arm 生成二进制文件吗

我们可以配置在 intel x64 架构上运行的 gcc 来为 ARM 芯片生成二进制文件,只需将一些标志传递给 gcc 而不是使用交叉编译器。

0 投票
1 回答
271 浏览

c - 为什么在 C 中对动态链接符号执行指针运算时会得到错误的结果?

我遇到了一个奇怪的情况,执行涉及动态链接符号的指针运算会导致不正确的结果。我不确定是否只是缺少一些链接器参数,或者它是否是链接器错误。有人可以解释以下示例中的问题吗?

考虑以下lib.c简单共享库的代码 ( ):

fn1有问题的操作是地址和变量之间的按位与mask。应用程序 ( app.c) 只是这样调用fn2

它导致以下输出...

...这显然是不正确的,因为fn1 和预期的结果相同p。代码运行在 AVR32 架构上,编译如下:

编译器认为,将变量加载 mask到 32 位寄存器 7 中并将 & 操作拆分为两个带有立即操作数的汇编操作是最佳解决方案。

我假设and指令的直接操作数没有重定位到fn1共享库加载到应用程序地址空间时的加载地址:

  • 这种行为是故意的吗?
  • 如何调查链接共享库或加载可执行文件时是否出现问题?

背景:这不是一个学术问题。OpenSSL 和 LibreSSL 使用类似的代码,因此不能更改 C 源代码。该代码在其他架构上运行良好,当然有一个不明显的原因对函数指针进行按位操作。

0 投票
1 回答
123 浏览

tensorflow - Bazel 0.5.2 自定义工具链,在构建 tensorflow 时错误地调用存档程序(gcc“ar”)?

尝试使用自定义工具链来构建依赖于 tensorflow 的目标,我的 CROSSTOOL 和工具链 BUILD 文件似乎很好。但是,在构建目标(取决于 tensorflow)时,出现以下错误:

错误在于“ar”本身的调用,它应该用文件的内容调用,而不是文件本身。

现在猫

我得到了'ar'的参数应该是什么,那就是我得到:

应该运行的命令类似于:

我错过了什么?我正在使用 bazel 的最新版本 0.5.2

0 投票
1 回答
1847 浏览

linux - Buildroot toolchain with openssl

I am using Buildroot (2017.02.5) to build a custom cross compilation toolchain. I have two buildroot configurations; one to build the RFS and one purely to build a toolchain. I have things configured this way because I don't want the toolchain to be rebuilt unless I intentionally rebuild it- the configuration which builds the RFS references this toolchain as an external toolchain.

Generally, the built toolchain works fine, but I have some existing applications (Linux userspace) which #include's <openssl/md5.h>. When I try to compile this, I get a "<openssl/md5.h>: No such file or directory" error, which is expected because the sysroot dir of the generated toolchain does not contain an openssl directory.

How can I make buildroot include openssl in the toolchain? All searches I have done seem to point to cross compiling openssl for my embedded target, which is not an issue. The issue is that I need to include it in the toolchain.

I have Target packages --> Libraries --> Crypto --> openssl set to y, but I don't think this makes any difference in this scenario since I believe it relates only to the RFS (and the defconfig in question does not build an RFS, only a toolchain).

I could compile OpenSSL outside of the buildroot tree and install it to the sysroot dir, but this doesn't seem correct as it would pollute sysroot.

I'm sure I'm missing something simple here- any help would be appreciated.

0 投票
1 回答
1013 浏览

gcc - 在没有 mpc、mpfr 和 gmp 的情况下构建 GCC

我需要使用较小版本的软件包来构建我的工具链。有没有办法通过禁用 mpc、mpfr 和 gmp 包来构建 gcc?

0 投票
1 回答
533 浏览

c - Newlib:嵌入式与桌面

我正在为一个玩具项目编译一个基于 Newlib 的 Linux 工具链。

Newlib的官方页面报道:

Newlib 是一个用于嵌入式系统的 C 库。

但没有提供任何特别的理由。

我想弄清楚的是:

  1. 为什么 newlib 认为自己是“仅”嵌入的?
  2. 在桌面或服务器环境中使用它有什么缺点?
0 投票
1 回答
8859 浏览

gcc - ar/nm 和 gcc-ar/gcc-nm 有什么区别?

ar, nm, 和ranlib由 binutils 包提供。gcc-ar, gcc-nm, 和gcc-ranlib由 GCC 包提供。我在某处读到gcc-ar,gcc-nm和分别是,和二进制文件gcc-ranlib的“有效包装器” 。arnmranlib

gcc-argcc-nmgcc-ranlibarnm和之间的技术区别是什么ranlib?GCC 在其构建中提供这些二进制文件一定是有原因的。

用户空间包的构建系统何时应该使用一个与另一个?如果用于构建用户空间包的工具链是基于 GCC 的,那么使用哪一个(例如arvs gcc-arnmvs gcc-nm)是否重要?