我正在尝试为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
有谁知道解决这个问题的最佳方法是什么?
答案 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/