【问题标题】:Using vanilla GCC (or Clang) with android NDK使用带有 android NDK 的 vanilla GCC(或 Clang)
【发布时间】:2012-08-09 05:44:33
【问题描述】:

Android-NDK 提供了自己的编译器来构建原生代码。我当前的 android-NDK 安装附带的版本是 arm-linux-androideabi-g++ (GCC) 4.6.x-google 20120106 (prerelease),我猜它是 GCC 4.6 的一个分支。

它与普通(普通)GCC 4.6 有什么区别?它是否为 ARM 平台生成了更好的代码?

我想使用其他编译器来构建适用于 android 的软件,例如 vanilla GCC 4.7 或 Clang,因为它们对 C++11 有更好的支持并实现了一些我正在努力使用的功能(例如模板别名) .

  1. 是否可以使用最新的 vanilla GCC 或 Clang 为 Android 构建本机代码?我应该使用哪些参数?

  2. 使用与 android-SDK 附带的编译器不同的编译器有什么缺点?

【问题讨论】:

  • GCC 4.7 太年轻了——在写这篇文章时,它已经一个月大了。等待。 :)

标签: android c++ c build android-ndk


【解决方案1】:

Android GCC 是为 android 定制的,因为原生 Android 不支持 GCC 中的所有功能。我不认为有可能,您可以在 android ndk google 组中发布相同的内容,您的答案将由 Google Android 开发人员回复。

他们建议我们可以使用交叉编译器来编译 android 代码,而无需使用 android ndk。

【讨论】:

【解决方案2】:

请注意:Google 在 Android NDK 的 8c 版中添加了 clang3.1。它现在处于“实验”阶段,但很容易尝试(并且可能会在不久的将来得到更好的支持,希望也有适当的 libc++ 端口)。

【讨论】:

    猜你喜欢
    • 2012-12-07
    • 2015-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-02
    • 2014-05-20
    相关资源
    最近更新 更多