启用pthread_cancel的Android?ffmpeg取决于pthread_cancel

启用pthread_cancel的Android?ffmpeg取决于pthread_cancel,android,android-ndk,ffmpeg,rtsp-client,Android,Android Ndk,Ffmpeg,Rtsp Client,我正在用NDKR9B版本在android上构建ffmpeg 2.1.3 我使用了下面的命令 ./configure --enable-shared --prefix=/home/fbuild --cross-prefix=arm-linux-androideabi- --enable-cross-compile --target-os=linux --arch=arm --enable-gpl

我正在用NDKR9B版本在android上构建ffmpeg 2.1.3

我使用了下面的命令

./configure --enable-shared --prefix=/home/fbuild 
             --cross-prefix=arm-linux-androideabi- 
             --enable-cross-compile 
             --target-os=linux --arch=arm --enable-gpl 
             --enable-libx264 --extra-cflags=-I/home/fbuild/include 
             --extra-ldflags=-L/home/fbuild/lib --disable-doc 
             --disable-ffmpeg --enable-network --disable-ffplay 
             --disable-ffprobe --disable-ffserver --enable-avresample 
             --enable-decoders 
             --enable-encoders 
             --enable-muxers 
             --enable-demuxers 
             --enable-parsers --enable-protocols --enable-filters 
             --enable-avresample --disable-indevs --enable-indev=lavfi 
             --disable-outdevs --enable-hwaccels --enable-libx264 
             --enable-zlib --enable-muxer=md5 --enable-runtime-cpudetect  
             --cpu=cortex-a8 
             --enable-pthreads --enable-static
在config.log中

 main:ffconf.82qqjSTF.c(.text+0x4): error: undefined reference to '**pthread_cancel**
这清楚地表明pthread_cancel不可用

这是一个现有的问题,还是我们有其他解决方案

我已启用'--enable pthreads'

我正在尝试通过UDP传输RTSP流


非常感谢你的帮助。谢谢

这是一个现有问题吗?

NDK官方文件规定:

pthread\u cancel()
在Bionic中不受支持,因为这样做会使C库变得更大,但好处很小。[…]所有这些都与仿生设计目标背道而驰。如果您的代码依赖于线程取消,请考虑备选方案。 请参见仿生概述部分

也就是说,ffmpeg配置脚本自动检测:

if enabled pthreads; then
  check_func pthread_cancel
fi
因此,如果
pthread\u cancel
不可用,我假设ffmpeg在实现端有回退(请参阅
\if HAVE\pthread\u cancel
部分)