【问题标题】:Cygwin for Android-NDK programming用于 Android-NDK 编程的 Cygwin
【发布时间】:2012-05-15 21:43:01
【问题描述】:

我读到了关于 Windows 上 NDK 编程的要求,其中说我们需要 Cygwin。阅读有关 Cygwin 的内容,说我们需要它,因为它是 a way to make Windows support some linux functionality。但我的问题是在哪个编程阶段(确切位置)Cygwin将是必需的,为什么?非常欢迎您提供有关此主题的其他信息

【问题讨论】:

    标签: android android-ndk cygwin


    【解决方案1】:

    从版本 7 开始的 Android NDK 不需要 Cygwin。见这里:http://developer.android.com/sdk/ndk/index.html

    您现在可以在没有 Cygwin 的情况下在 Windows 上构建您的 NDK 源文件,方法是从项目路径的命令行调用 ndk-build.cmd 脚本。该脚本采用与原始 ndk-build 脚本完全相同的参数。 Windows NDK 包带有自己的预构建二进制文件,用于 GNU Make、Awk 和构建所需的其他工具。您不需要安装任何其他东西来获得一个工作的构建系统。

    它提到你不能在没有 Cygwin 的情况下使用 ndk-gdb 脚本。虽然这是真的,但您实际上可以在没有 Cygwin 的情况下直接使用 gdb 可执行文件,只有这样您才需要手动正确设置它。

    【讨论】:

    • Superb.. 可以在不使用 cygwin 的情况下构建我的应用程序..谢谢...您能否对您的回答的这一部分发表更多评论“它提到您不能在没有 Cygwin 的情况下使用 ndk-gdb 脚本。虽然那是的,你实际上可以在没有 Cygwin 的情况下直接使用 gdb 可执行文件"
    • 您可以阅读 ndk-gdb 脚本以了解它在做什么。这并不难。它是这样的:mhandroid.wordpress.com/2011/01/25/…kandroid.org/online-pdk/guide/debugging_gdb.html 这是使用 gdb 和 gdbserver 进行远程调试的标准设置。
    • 我同意,阅读:stackoverflow.com/a/8384324/866333。然而,Mastins 引用的段落不存在于原始链接目标中。相反,我正在阅读:“所需的开发工具对于所有开发平台,都需要 GNU Make 3.81 或更高版本。早期版本的 GNU Make 可能工作但尚未经过测试。最新版本的 awk(GNU Awk 或 Nawk)是也需要。对于 Windows,需要 Cygwin 1.7 或更高版本。NDK 不适用于 Cygwin 1.5 安装。"
    • @John 我在链接的 Android NDK,修订版 7(2011 年 11 月) 部分看到了引用的文本,在子标题 Experimental Features
    • 你是对的,但我认为最初缺乏证据。
    【解决方案2】:
    1. 至少 NDK-r8b,如果你想构建你的 .so,你不需要 Cygwin。
    2. 但是,如果你想使用 ndk-gdb 来调试你的本地代码,你必须使用 Cygwin。
    3. 而且,在我的实验中,如果你在 Cygwin 下 ndk-gdb 你的本机来调试从 Windows cmd 构建的本机代码,ndk-gdb 似乎无法识别调试信息。因此,出于调试目的,我构建了本机 Cygwin。

    【讨论】:

      【解决方案3】:

      Make 命令执行Android.mk 文件。

      Android.mk 文件包含要编译的 c/c++ 文件列表以及库名称 (.so)。

      【讨论】:

      【解决方案4】:

      (来自 NDK-r8e NDK-GDB 文档)目前“ndk-gdb”需要 Unix shell 才能运行。这意味着需要 Cygwin 才能在 Windows 上运行它。我们希望在未来的 NDK 版本中摆脱这个限制。

      【讨论】:

        【解决方案5】:

        Cygwin 是一组工具,可为 Windows 提供 Linux 外观和感觉环境。 http://www.cygwin.com/

        【讨论】:

        • 这有什么帮助?
        猜你喜欢
        • 2012-06-25
        • 1970-01-01
        • 2012-01-22
        • 2011-11-30
        • 1970-01-01
        • 1970-01-01
        • 2012-12-21
        • 1970-01-01
        • 2012-06-23
        相关资源
        最近更新 更多