3

我想为arm构建一个本机gcc,在Android上运行,因为我已经为它构建了glibc,并且想要构建与glibc链接的GNU utils,所以想在Android手机上进行原生编译。

我已经用 crosstools-ng 构建了交叉编译工具链。

我已经交叉编译了 glibc,很好。

已经构建了几个本地 arm (arm-exynos-linux-gnueabi) 实用程序,如 tar 等,并确认它们在 Android 手机上工作,当将构建的 x-tools sysroot 的 lib 目录符号链接到 android 机器上的 /lib 时。

现在我需要构建原生的gcc,这样我就可以在机器上开发了。我在交叉编译方面遇到了一些哲学问题,因为我在这方面相对缺乏经验。

因此,我想问一下如何准确地按步骤进行,因为我已经花了两天时间采用试错法,但到目前为止还没有运气。

所以:gcc依赖mpc,又依赖mpfr,又依赖gmp。

那么,我该如何进行呢?

我要构建哪些架构部门,使用哪些主机目标和构建选项?

  • 创建一个工具目录并在那里构建这些部门,以免弄乱正在运行的工具链?
  • gmp(没有主机、构建、目标?)
  • mpfr(相同?)
  • mpc(相同?)

  • 那么gcc,如何?--host=arm-exynos-linux-gnueabi --build=i686-build_pc-linux-gnu --target=arm-exynos-linux-gnueabi ?

这是正确的,还是我在上述某些步骤中搞砸了?

顺便说一句,我已经按照这个指南http://forum.xda-developers.com/showthread.php?t=1299962构建了 crosstool-ng 工具链,它建议只使用 --host=arm 编译本机应用程序。 ..

我一直在这样做,他们确实在 Android 系统上工作,虽然我觉得不合适,不应该是 --target=arm...?

非常感谢您帮助我完成上述步骤,因为我犯了很多错误。

4

0 回答 0