我阅读了有关在 Windows 上进行 NDK 编程的要求,其中说我们需要。阅读Cygwin
有关 Cygwin 的内容,说我们需要它,因为它是a way to make Windows support some linux functionality
。但我的问题是在哪个编程阶段(确切位置)需要 Cygwin,为什么?非常欢迎有关此主题的其他信息
5 回答
从版本 7 开始的 Android NDK 不需要 Cygwin。见这里:http: //developer.android.com/sdk/ndk/index.html
现在,您可以通过从项目路径的命令行调用 ndk-build.cmd 脚本,在没有 Cygwin 的情况下在 Windows 上构建 NDK 源文件。该脚本采用与原始 ndk-build 脚本完全相同的参数。Windows NDK 软件包带有自己的预构建二进制文件,用于 GNU Make、Awk 和构建所需的其他工具。您不需要安装任何其他东西来获得工作的构建系统。
它提到你不能在没有 Cygwin 的情况下使用 ndk-gdb 脚本。虽然这是真的,但您实际上可以在没有 Cygwin 的情况下直接使用 gdb 可执行文件,只有这样您才需要手动正确设置它。
- 至少NDK-r8b,如果你想构建你的.so,你不需要Cygwin。
- 但是,如果你想使用 ndk-gdb 来调试你的本地代码,你必须使用 Cygwin。
- 而且,在我的实验中,如果您在 Cygwin 下使用 ndk-gdb 来调试从 Windows cmd 构建的本机代码,则 ndk-gdb 似乎无法识别调试信息。因此,出于调试目的,我构建了本机 Cygwin。
Make
命令来执行Android.mk
文件。
Android.mk 文件包含要编译的 c/c++ 文件列表以及库名称 (.so)。
(来自 NDK-r8e NDK-GDB 文档)目前“ndk-gdb”需要 Unix shell 才能运行。这意味着需要 Cygwin 才能在 Windows 上运行它。我们希望在未来的 NDK 版本中摆脱这个限制。
Cygwin 是一组工具,可为 Windows 提供 Linux 外观和感觉环境。 http://www.cygwin.com/