2014-01-26 3 views
1

Я пытаюсь скомпилировать libupnp 1.6.18 для системы android. Похоже, что bionic не реализует полнофункциональные потоковые функции. Я могу настроить его, но если не удается в сборке бросания этой ошибкиКак скомпилировать libupnp для android успешно

/Volumes/androidSpace/nomad/toolchain/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: common/tv_ctrlpt-sample_util.o: in function SampleUtil_Initialize:common/sample_util.c:68: error: undefined reference to 'pthread_mutexattr_setkind_np 

Кто-нибудь знает, Что лучший способ решить эту проблему?

+0

вы можете добавить -D__DragonFly__ – crossle

ответ

2

Андроид libc, bionic, обеспечивает встроенную поддержку pthreads, поэтому дополнительное связывание (-lpthreads) не требуется. Он не реализует полные функции потоков POSIX и не поддерживает блокировки чтения/записи, pthread_cancel(), взаимные мьютексы и переменные состояния процесса, а также другие более сложные функции.

«pthread_mutexattr_setkind_np» устарел и не переносит функцию. Вы должны заменить эту функцию на

int pthread_mutexattr_settype(pthread_mutexattr_t *attr, int type); 

Должно быть звездным, так как обе эти функции имеют одинаковую подпись.

см ссылку ниже для получения дополнительной информации

http://www.unix.com/man-page/FreeBSD/3/pthread_mutexattr_setkind_np/

Смежные вопросы