【问题标题】:Android ndk build mysteriously failing under cygwin with "Error 126"Android ndk 构建在 cygwin 下神秘地失败,出现“错误 126”
【发布时间】:2011-03-10 08:06:12
【问题描述】:

我有一个由ndk-build 构建的 JNI 应用程序(使用 Android NDK r5b 和 cygwin make 3.81)。构建通常有效,偶尔会失败:

...
Compile++ thumb  : components <= Component.cpp
make: *** [/c/.hudson/jobs/Nightly/workspace/application/obj/local/armeabi/objs/components/Component.o] Error 126
make: Leaving directory `/c/.hudson/jobs/Nightly/workspace/application/obj/local/armeabi/objs/components'

还有 no 其他错误。 Make than 以状态 2 退出。它每次都发生在不同的文件中(上面的名称是匿名的)。这种情况似乎在并行构建中更常见,但有时也会在非并行构建中发生。

有人知道它可能是什么或至少如何调试它吗?

【问题讨论】:

    标签: makefile cygwin android-ndk android-ndk-r5


    【解决方案1】:

    Make 错误 126 是 permission denied。你运行杀毒软件吗?如果是这样,也许它正在锁定文件或阻止写入,从而导致错误?如果您没有打开防病毒软件,也许您有其他可能获取文件锁定的软件?

    【讨论】:

    • 谢谢。我为有问题的驱动器关闭了防病毒软件,但它似乎仍然是一个很好的方向。
    【解决方案2】:

    我发现防止这种情况(及其姊妹错误,make 错误 127)在我们的构建中发生的唯一方法是将 make 的最大同时作业数设置为 1。

    为此,请使用命令行参数“-j 1”运行 make,例如:

    make -j 1 CONFIG=debug
    

    【讨论】:

      【解决方案3】:

      当这种情况发生在我身上时,我通常只是删除与错误相关的目标文件(在您的情况下为 Component.o 和 Component.o.d)然后重建。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-03-19
        • 1970-01-01
        • 1970-01-01
        • 2018-01-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多