Обычной причиной этой ошибки является то, что вы скомпилировали для Android-23 или выше, но ранее ссылались на что-то.Другой вариант этой проблемы - когда у вас есть несколько библиотек, построенных на разных уровнях API.
Похоже, вы используете автономный набор инструментов ?Если это правильно, то я подозреваю, что ваша проблема - это либо готовая библиотека, которая является частью libcurses (FWIR там нет ни одной из них, так что маловероятно), либо что в их сценариях сборки происходит что-то напуганное, что вызывает одно из двухвопросы, которые я упомянул.Тонны проектов добавляют свои собственные специфические хаки для Android в свои скрипты сборки, которые всегда заканчиваются причиной подобных проблем, поэтому меня это совсем не удивит.
Нужно взглянуть на обе команды компиляции дляtic.c и команда link для любой библиотеки / исполняемого файла не может связать там.Убедитесь, что оба используют одни и те же уровни API (ищите такие вещи, как $NDK/platforms/android-$API_LEVEL
, -D__ANDROID_API__=$API_LEVEL
и -target arm-linux-androideabi$API_LEVEL
).
btw, а не ncurses 6, но у меня есть пример, показывающий, как использоватьавтономные наборы инструментов, которые должны были создавать ncurses 5.9: https://github.com/DanAlbert/lua-ndk/blob/master/build_lua_with_libreadline.sh#L75. Возможно, стоит посмотреть, поможет ли это вообще.