我需要添加到android项目原子处理器支持。使用参数在x86下配置和构建libvpx库:
./ configure --disable-examples --sdk-path =' / Android / ndk' --enable-vp8 --target = x86-android-gcc --disable-postproc
制作
构建成功,我得到一个静态库libvpx.a
将库添加到项目中:
包括$(CLEAR_VARS)
LOCAL_MODULE:= vpx
LOCAL_SRC_FILES:= thirdparty / 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):错误:未定义引用' __ 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):错误:未定义引用' __ 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:error:undefined reference to' __ 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(decodframe.co)(。text +0 x198):错误:未定义引用' __ vsnprintf_chk'
jni / thirdparty / webm / libvpx / x86 / libvpx.a(decodframe.co)(。text +0 x1c6):错误:未定义引用' __ 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):错误:未定义引用' __ 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
答案 0 :(得分:3)
我添加--extra-cflags="-U_FORTIFY_SOURCE"
涵盖__longjmk_chk
和__vsnprintf_chk
我写了空__assert_fail
函数:extern "C" { void __assert_fail() {} }