我需要添加到 android 项目 atom 处理器支持。使用参数配置和构建 x86 下的 libvpx 库:
./configure --disable-examples --sdk-path = '/Android/ndk' --enable-vp8 --target = x86-android-gcc --disable-postproc
make
构建成功,我得到一个静态库 libvpx.a 将库添加到项目:
包括 $ (CLEAR_VARS)
LOCAL_MODULE: = vpx
LOCAL_SRC_FILES: = 第三方 / webm / libvpx / $ (TARGET_ARCH_ABI) / libvpx.a
包括 $ (PREBUILT_STATIC_LIBRARY)
LOCAL_STATIC_LIBRARIES: = stdc++ jpeg png vorbis vorbisfile vorbisenc theora theoradec libwebp vpx
但在项目组装过程中出现错误:
jni/thirdparty/webm/libvpx/x86/libvpx.a (vp8_dx_iface.co) (.text +0 x568): error: undefined reference to '__vsnprintf_chk'
jni/thirdparty/webm/libvpx/x86/libvpx.a (vp8_dx_iface. co)(.text +0 x596):错误:未定义引用'__longjmp_chk'
jni/thirdparty/webm/libvpx/x86/libvpx.a(onyxd_if.co)(.text +0 x158):错误:未定义引用' __vsnprintf_chk'
jni/thirdparty/webm/libvpx/x86/libvpx.a (onyxd_if.co) (.text +0 x186): 错误: 未定义引用 '__longjmp_chk'
jni/thirdparty/webm/libvpx/x86/libvpx.a ( onyxd_if.co) (.text.unlikely +0 x23): error: undefined reference to '__assert_fail'
jni/thirdparty/webm/libvpx/x86/libvpx.a (yv12extend.co): function vp8_yv12_extend_frame_borders_c: error:对“__assert_fail”的未定义引用
jni/thirdparty/webm/libvpx/x86/libvpx.a (yv12extend.co): function vp8_yv12_extend_frame_borders_c: error: undefined reference to '__assert_fail'
jni/thirdparty/webm/libvpx/x86/libvpx.a (yv12extend.co): function vp8_yv12_extend_frame_borders_c:错误:未定义引用“__assert_fail”
jni/thirdparty/webm/libvpx/x86/libvpx.a(decodframe.co)(.text +0 x198):错误:未定义引用“__vsnprintf_chk”
jni/thirdparty/webm/ libvpx/x86/libvpx.a (decodframe.co) (.text +0 x1c6): error: undefined reference to '__longjmp_chk'
jni/thirdparty/webm/libvpx/x86/libvpx.a (boolhuff.co) (.text + 0 x55): 错误: 未定义的对 '__longjmp_chk' 的引用
jni/thirdparty/webm/libvpx/x86/libvpx.a (onyx_if.co) (.text +0 xa08): error: undefined reference to '__vsnprintf_chk'
有谁知道如何修理它?armeabi下构建项目成功。尝试添加标志 APP_CPPFLAGS +=-std=gnu++11 并更改ndk的版本
NDK_TOOLCHAIN_VERSION:= 4.8
该项目的其他标志:
APP_STL: = gnustl_static
APP_CPPFLAGS + =-frtti-fexceptions
APP_CFLAGS + =-Wno-error = format-security
APP_ABI: = armeabi x86
用于构建ndk android-ndk-r9d-linux-x86(我尝试使用android-ndk-r9d-linux-x86_64 - 结果相同),Ubuntu 13.10 x86_64,Eclipse 3.8.1