如何为android成功编译libupnp

时间:2014-01-26 19:53:31

标签: android posix upnp

我正在尝试为Android系统编译libupnp 1.6.18。似乎仿生没有实现完整的posix线程功能。我能够配置它,但如果在构建中失败则抛出此错误

/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

有谁知道解决这个问题的最佳方法是什么?

1 个答案:

答案 0 :(得分:2)

android 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/