我在Ubuntu上编写了一个Android测试应用程序,NDK-BUILD出现了
/ home / lee / Work / Android / NDK / Android - NDK - r10e工具链/ arm - Linux - androideabi - 4.8 / prebuilt / Linux - x86_64 / bin /../ lib / GCC / arm - Linux - androideabi / 4.8 /../../../../ arm - Linux - androideabi / bin / ld:错误:总是找 - lGLESv2 Collect2:错误:ld返回1退出状态 Make:* * * [obj / local / armeabi / libffmpeg so]错误1
FFmpeg是版本3.1.4,NDK版本是r10e
答案 0 :(得分:0)
这适用于3.1.4,尽管它不构建单个库。
#!/bin/bash
NDK=$HOME/Android/Sdk/ndk-bundle
SYSROOT=$NDK/platforms/android-19/arch-arm/
TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64
CPREFIX=$TOOLCHAIN/bin/arm-linux-androideabi-
function build_it {
./configure \
--prefix=$PREFIX \
--disable-static \
--enable-shared \
--disable-doc \
--disable-ffmpeg \
--disable-ffplay \
--disable-ffprobe \
--disable-ffserver \
--disable-avdevice \
--disable-doc \
--disable-symver \
--cross-prefix=$CPREFIX \
--target-os=linux \
--arch=arm \
--enable-cross-compile \
--enable-gpl \
--sysroot=$SYSROOT \
--extra-cflags="-Os -fpic $ADDI_CFLAGS" \
--extra-ldflags="$ADDI_LDFLAGS" \
$ADDITIONAL_CONFIGURE_FLAG
make clean
make -j9
make install
}
CPU=arm
PREFIX=$(pwd)/android/$CPU
ADDI_CFLAGS="-marm"
构建单个库比它值得更麻烦,只需确保以正确的顺序加载库:
avutil, avcodec, avformat, swscale, swresample, postproc
此外,要使用正确的版本号构建库,请更改./configure文件中的这些行
这
SLIBNAME_WITH_VERSION='$(SLIBNAME).$(LIBVERSION)'
SLIBNAME_WITH_MAJOR='$(SLIBNAME).$(LIBMAJOR)'
LIB_INSTALL_EXTRA_CMD='$$(RANLIB) "$(LIBDIR)/$(LIBNAME)"'
SLIB_INSTALL_NAME='$(SLIBNAME_WITH_VERSION)'
SLIB_INSTALL_LINKS='$(SLIBNAME_WITH_MAJOR) $(SLIBNAME)'
到
SLIBNAME_WITH_VERSION='$(SLIBNAME).$(LIBVERSION)'
SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)'
LIB_INSTALL_EXTRA_CMD='$$(RANLIB) "$(LIBDIR)/$(LIBNAME)"'
SLIB_INSTALL_NAME='$(SLIBNAME_WITH_MAJOR)'
SLIB_INSTALL_LINKS='$(SLIBNAME)'
编辑:
您对GLES的问题,是否可以显示更多信息?