ndk-build застревает/зависает при сборке большого проекта

Я пытаюсь скомпилировать библиотеку webp 4.0 как модуль для Android. Makefile застревает/зависает/зависает на шаге ndk-build. Я не знаю, имеет ли это какое-то отношение к самой библиотеке webp, потому что это случалось раньше в других проектах.

Проблема непостоянна, но, кажется, происходит довольно часто, в частности, в этом проекте. Другими словами, иногда все, что мне нужно сделать, это снова запустить сборку, и она работает нормально, продолжая с того места, где остановилась.

Таким образом, обходные пути на данный момент - это повторная попытка сборки и / или удаление файлов .o и .o.d в каталоге obj, где ndk-build застрял, а затем снова запустить его, иногда это работает во второй раз, но затем он зависает в позже точка в сборке, и я должен повторить.

Также расстраивает то, что он полностью зависает в командной строке, и мне приходится закрывать ее и снова открывать, переходить в каталог и т. Д. Я полагаю, что пришло время опубликовать этот вопрос, поскольку я нигде не видел ответа на него.

В качестве примечания: я только что закончил компилировать всю библиотеку webp для armeabi и armeabi-v7a после примерно 30 перезапусков и удаления примерно 5 файлов .o и .o.d.

Я использую 64-разрядную версию Windows 7 Pro, использую 32-разрядную версию Cygwin с 64-разрядной версией NDK 9c.

Приложение.mk:

APP_ABI := armeabi armeabi-v7a
APP_STL := gnustl_static

person PolyMesh    schedule 21.01.2014    source источник


Ответы (1)


Некоторые версии make, включенные в MSYS или Cygwin, иногда зависают во время параллельной сборки (-j). Если ваша сборка использует этот make, вам, возможно, придется переключиться на «хорошую» версию make, например ту, которая включена в NDK. Проверьте свой PATH и make-файлы.

person Xargs    schedule 29.01.2014
comment
Конечно же, мой путь указывал на создание Cygwin. Я только что протестировал марку, найденную в NDK, и это сработало с первого раза! Огромное спасибо! Если кто-то еще придет сюда, я нашел NDK make здесь: %ANDROID_NDK%\prebuilt\windows-x86_64\bin\make.exe - person PolyMesh; 29.01.2014