我正在尝试使用FFMPEG for Android构建PJSIP。 为了使用rtmp和openssl构建FFMPEG,我使用这个项目: https://github.com/cine-io/android-ffmpeg-with-rtmp
它编译得非常好。
然后我用ffmpeg编译pjsip 2.6。以下是构建文件中的部分:
APP_PLATFORM=android-${TARGET_ANDROID_API} NDK_TOOLCHAIN_VERSION=4.9 TARGET_ABI=$arch ./configure-android --use-ndk-cflags \
--with-ssl="${OPENSSL_BUILD_OUT_PATH}/libs/${arch}" \
--with-ffmpeg="${BASE_DIR}/ffmpeg-output"
>>"${FINAL_BUILD_LOGS}/${arch}.log" 2>&1
我的目标ABI是 armeabi 。
另外,我已经定义了这两个标志:
#define PJMEDIA_HAS_VIDEO 1
#define PJMEDIA_HAS_FFMPEG 1
但构建失败了,有两个错误:
错误:找不到-lbz2
错误:找不到-lasound
在我的Ubuntu 16.04 LTS VM上安装了libasound2-dev和bzip2。
在此之前,我已成功使用OpenH264制作了pjsip版本,没有这样的错误。
有没有办法告诉链接器(或其他什么)如何找到这些包?
答案 0 :(得分:1)
通过为上面的每个库编译.a libs并将它们添加到pjsip库路径来解决这个问题(thx @NandhaKumar):
APP_THIRD_PARTY_LIB_FILES + = $(PJ_DIR)/third_party/lib/libbz2.a APP_THIRD_PARTY_LIB_FILES + = $(PJ_DIR)/third_party/lib/libasound.a
机器人-NDK-r10e /工具链/臂-Linux的androideabi-4.9 /预建/ Linux的x86_64的/ LIB / GCC /臂-Linux的androideabi / 4.9 / libasound.a