【问题标题】:Guide: How to compile a c program for Android [duplicate]指南:如何为 Android 编译一个 c 程序 [重复]
【发布时间】:2012-09-27 12:11:27
【问题描述】:

可能重复:
How to compile and run a C/C++ program on the Android system

我最近有一个项目来编译一个在 Android 上使用的 c 程序。我已经为它准备了一个 makefile,但问题是如何在我的 Windows PC 上使用 linux 模拟器简单地编译它以在 Android 上使用。我在网上搜索了一个很好的教程,但没有找到一个简单的。

希望对大家有所帮助

【问题讨论】:

  • 如何在Android系统上编译运行C/C++程序stackoverflow.com/questions/8698798/…
  • 你选择了一条艰难的道路。请注意,ndk-build 可以通过一个简单的步骤创建可执行文件。请参阅 test-libstdc++ NDK 示例。
  • 很难?不适合我.. 那是我用来编译 c 程序的方式。这样你就不必学习如何使用任何新的库或环境。请注意,我必须为项目使用现有的 makefile

标签: android c android-ndk


【解决方案1】:

这是我第一次在这里写教程或指南,英语不是我的母语,所以我很抱歉前面教程的质量:)

目标:使用 gcc 编译一个用于 Android 应用程序的 c 程序。

你需要的东西:

  1. Linux 或 linux 模拟器(如 VMWare)。

  2. 来自 google 的最新 NDK:http://developer.android.com/tools/sdk/ndk/index.html#Downloads

接下来的所有指令都应该使用一些 Linux shell 来完成。我用过“终端”。

  1. 为您的 NDK 下载目录创建一个快捷方式,例如:“NDK=$HOME/android-ndk-r8b”

  2. 声明 SYSROOT- 这是 gcc 用于编译的根目录。类似于:“SYSROOT=$NDK/platforms/android-8/arch-arm”。

  3. 链接 SYSROOT 和编译所需的二进制文件,方法是键入以下内容: “cd $NDK/构建/工具” "sh make-standalone-toolchain.sh --arch=arm --ndk-dir=$HOME/android-ndk-r8b --install-dir=$HOME/android-toolchain --platform=android-8"

  4. 扩展 PATH,它将用于调用 gcc。类似于:“export PATH=$HOME/android-toolchain/bin:$PATH”

  5. 为 Android gcc 创建一个快捷方式,例如:export CC=arm-linux-androideabi-gcc

我使用 android-8 作为我需要的最低 NDK 版本。您可以将其设置为 NDK 中可用的每个 NDK 支持的 SDK 版本。

现在您可以通过简单地调用“$CC”而不是“gcc”来在 linux 上为 arm 编译进行正常的 linux c 编译。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-15
    • 2010-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-09
    • 2018-09-01
    相关资源
    最近更新 更多