我正在尝试用openh264库构建pjsip项目。除了pjsip ./configure-android没有检测到openh264之外,一切都正常。
这是我的config_site.h
/* Activate Android specific settings in the 'config_site_sample.h' */
#define PJ_CONFIG_ANDROID 1
#include <pj/config_site_sample.h>
#define PJMEDIA_HAS_VIDEO 1
#define PJMEDIA_HAS_OPENH264_CODEC 1我得到了以下日志
Using OpenH264 prefix... /home/user_name/PJSIPTOOLS/openh264-1.0.0/openlib/
checking OpenH264 usability... no由于./configure-android没有检测到它,我的应用程序在运行时崩溃,说openh264没有找到lib。
我在ubuntu 14.04 32位上。
有什么建议吗。
发布于 2017-01-21 08:27:02
我刚刚遇到了一个类似的问题。在下面的代码中,我将下载并解压OpenH264的目录称为path-to-openh264。我在该文件夹中创建了一个子目录android,并通过设置PREFIX=android修改了OpenH264的Makefile。然后运行以下命令来构建OpenH264,为我解决了这个问题:
make OS=android NDKROOT=<path-to-ndk> TARGET=android-14 APP_ABI=armeabi ARCH=arm
make OS=android NDKROOT=<path-to-ndk> TARGET=android-14 APP_ABI=armeabi ARCH=arm clean
make install OS=android NDKROOT=<path-to-ndk> TARGET=android-14 APP_ABI=armeabi ARCH=arm生成的libopenh264.so文件应该在目录path-to-openh264/android/lib/中结束。为了配置pjsip,我使用了以下命令:
APP_PLATFORM=android-14 ./configure-android --with-openh264=<path-to-openh264>/android下面的StackOverflow线程将我引向正确的方向:
building openh264 for android platform in x86
出现这个问题的原因是,我一开始运行make install命令时没有使用命令行参数。这会导致为错误的ABI (默认的是armeabi-v7a)创建本机库文件。当为armeabi ABI构建pjsip时,它无法识别该库,因为它是为不同的ABI构建的。至少我是这么想的。
发布于 2015-12-09 22:08:13
实际上,我也遇到过这个问题。
解决方案:
步骤1:进入你的openh264目录,创建一个名为"android“的文件夹
步骤2:打开makefile并设置前缀
PREFIX=/your_path/openh264-1.0.0/android步骤3:然后使用以下命令构建openh264
make OS=android NDKROOT=/your_path/android-ndk-r10d TARGET=android-17 APP_ABI=armeabistep4:现在使用以下命令构建pjsip
TARGET_ABI=armeabi APP_PLATFORM=android-12 ./configure-android --use-ndk-cflags --with-openh264=/your_path/openh264-1.0.0/android希望这一次你能看到
Using OpenH264 prefix...
/home/user_name/PJSIPTOOLS/openh264-1.0.0/openlib/
checking OpenH264 usability... ok发布于 2015-10-08 21:29:58
http://trac.pjsip.org/repos/ticket/1758
https://stackoverflow.com/questions/32972912
复制相似问题