我一直在尝试使用线程支持为 Android 编译 x264 但是没有成功......
我设法在没有线程支持的情况下编译相同的... configure命令如下:
./configure --prefix=$PREFIX \
--enable-pic \
--host=arm-linux \
--disable-cli \
--cross-prefix=$PREBUILT/bin/arm-linux-androideabi- \
--sysroot=$PLATFORM
其中PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.7/prebuilt/linux-x86
和
PLATFORM=$NDK/platforms/android-14/arch-arm
我也尝试使用和不使用选项--enable-static
和extra-ldflags="-lpthread"
,但在尝试make
时,它会以错误结束。
有没有办法完成上述说法??
答案 0 :(得分:0)
在线程支持的上下文中似乎出现在config.log
中的错误是cannot find lpthread
...
通过从-lpthread
文件手动删除configure
解决了这个问题。
但随后配置开始在包含struct cpu_set_t
和CPU_COUNT()
...
似乎某些libc
函数和定义未包含在随 Android NDK(R8D)提供的代码中...在上述情况CPU_COUNT()
中的定义和struct cpu_set_t
...
上述解决方法是使用latest version修补sched.h
...
Android问题列表中有一些错误报告描述了同样的问题,希望在下一个NDK版本中解决这个问题......
同样x264
可以编译为包含“ARM支持功能”,包括选项--extra-cflags="-mfloat-abi=softfp"
...