我正在编译使用Android工具链配置的程序。我使用的是ndk r10c。我使用
创建了一个独立的工具链$./make-standalone-toolchain.sh --ndk-dir=/home/justin/bin/android-ndk-r10c/ --install-dir=/home/justin/android-toolchain/
并且能够配置我的项目,但是当我make
我得到
error: 'pthread_cancel' was not declared in this scope
标题有#include <pthread.h>
,而this answer似乎表明我应该像往常一样使用pthread。
我错过了什么吗?
答案 0 :(得分:5)
Bionic(Android&#f; libc)没有pthread_cancel
。 IIRC,当我们讨论添加它时,我们选择不这样做,因为它的实现容易出错并且对性能有害(所有代码)。
据我们所知,pthreads的实现没有实现完全正确的pthread_cancel
。即使您不使用pthread_cancel
,也会对所有代码产生费用(因为pthread_cancel
需要防止这么多代码段中断。