我想为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...?
非常感谢您帮助我完成上述步骤,因为我犯了很多错误。