【问题标题】:Building an android-ndk-r17c standalone toolchain with Cygwin使用 Cygwin 构建 android-ndk-r17c 独立工具链
【发布时间】:2019-02-22 07:30:35
【问题描述】:

我想导入库libsndfile。根据doc,我需要一个独立的工具链。现在我正在尝试使用 Cygwin 构建上述工具链,如 official guide 中所述,但收到错误消息:

Unsupported platform: CYGWIN_NT-10.0.

我是 android 开发的新手,必须承认我在官方指南中遇到了很多困难。据我了解,--arch 参数指的是我正在构建的系统,--api 参数指的是它正在运行的(最低?)Android 版本。只要它们兼容,此时它究竟是哪个工具包应该是无关紧要的。所以现在让我们使用--arch x86_64--api 21。总体而言,输入和输出如下所示:

$ ./build/tools/make_standalone_toolchain.py --arch x86_64 --api 21 -v --install-dir ../toolchains/oboe_record_proto/
Unsupported platform: CYGWIN_NT-10.0

【问题讨论】:

  • 似乎 mingw 而不是 cygwin 是 NDK 的首选安装。
  • 官方指南说 “NDK 构建系统确保从 Cygwin 传递给编译器的所有路径都会自动转换,并管理其他复杂性。如果您有自定义构建系统,您可能需要自己解决这些复杂问题。” 我不确定“自定义构建系统”是什么意思。这里可以吗?
  • 另外,在上面安装 Mingw 并尝试一下是否有意义?只是我担心这可能会弄乱一些依赖关系。
  • 可能以前支持cygwin,但现在不支持。 $ python checkbuild.py .... RuntimeError: Unsupported host: cygwin
  • 添加到错误的地方:这是评论,而不是我发布的答案。 --arch 用于目标 cpu 架构,即您的 Android 设备的 cpu 类型。可能是:arm arm64 x86 x86_64。这是在你正在运行的 python 文件中。

标签: android android-ndk cygwin toolchain


【解决方案1】:

这可能不是一个令人满意的答案,但最终对我有用的是:

根据 matzeri 的评论,不再支持 Cygwin。我按照建议用 Mingw / Msys 解决它的尝试也没有成功。 我在 Windows 下安装了 python 并从 Windows 命令行运行脚本。

python .\build\tools\make_standalone_toolchain.py --arch x86_64 --api 21 -v --install-dir ..\toolchains\oboe_record_proto

工具链按预期生成。

【讨论】:

    猜你喜欢
    • 2014-06-27
    • 2013-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-09
    • 2012-02-16
    • 2012-02-21
    • 2011-02-15
    相关资源
    最近更新 更多