Android libuv использует необъявленный идентификатор «EPOLL_CLOEXEC»

Я пытаюсь собрать libuv для Android в студии Android cmake и получаю следующие ошибки:

ошибка: использование необъявленного идентификатора 'EPOLL_CLOEXEC'

предупреждение: неявное объявление функции epoll_pwait [-Wimplicit-function-declaration]

предупреждение: это объявление функции не является прототипом [-Wstrict-prototypes]

Как я могу это исправить? я должен использовать набор инструментов libuv для его сборки?


person akbar_ahmad    schedule 07.11.2018    source источник
comment
ошибка: использование необъявленного идентификатора EPOLL_CLOEXEC' ‹-- включите правильный заголовок, который объявляет EPOLL_CLOEXEC.   -  person Jesper Juhl    schedule 07.11.2018


Ответы (1)


Проблема, вероятно, в том, что ваш minSdkVersion слишком низкий. Это не поддерживалось до Android L. К сожалению, поскольку некоторые другие популярные проекты неправильно использовали эту константу для определения доступности epoll_create1, константа недоступна до тех пор, пока не станет epoll_create1. См. https://github.com/android-ndk/ndk/issues/394 для более подробной информации.

person Dan Albert    schedule 08.11.2018
comment
вы совершенно правы. поскольку я изменил минимальный уровень API на 21 и связал его с «атомным», он был успешно построен. - person akbar_ahmad; 09.11.2018