【发布时间】:2014-12-17 12:26:50
【问题描述】:
我正在从源代码编译 gstreamer 1.4.4,通过使用 configure --host=arm-linux-androideabi 标志来获取 ARM .so 和 .a 二进制文件。
然后我使用 gst-android 0.10 构建工具将库链接到gstreamer_android.so。
这很好用。
问题是我不知道如何在 Android 上部署 gst-rtsp-server.so。所有的库都嵌入到 .so 文件中,但是这个不依赖于 gstreamer_andorid.so 但是:
0x00000001 (NEEDED) Shared library: [libgstreamer-1.0.so.0]
0x00000001 (NEEDED) Shared library: [libgio-2.0.so.0]
0x00000001 (NEEDED) Shared library: [libgobject-2.0.so.0]
0x00000001 (NEEDED) Shared library: [libglib-2.0.so.0]
0x00000001 (NEEDED) Shared library: [libintl.so.8]
0x00000001 (NEEDED) Shared library: [libm.so]
0x00000001 (NEEDED) Shared library: [libc.so]
0x00000001 (NEEDED) Shared library: [libdl.so]
0x0000000e (SONAME) Library soname: [libgstrtsp-1.0.so.0]
(即使我创建自定义 Android.mk 并将 LOCAL_SHARED_LIBRARIES 指向 gstreamer_android.so)
所以我不知道如何从 gstreamer_android.so 中“注册”那些 libgstreamer-1.0.so.0 或将 gstrtspserver.so 附加到 gstreamer_android.so 中。我后来尝试通过添加到 gst-android 的 Android.mk 中,但随后出现此错误:
gst-build-armeabi/gstreamer_android.o:gstreamer_android.c:function gst_android_register_static_plugins: error: undefined reference to 'gst_plugin_rtspserver_register'
所以我很明显做错了什么,谁能指出我正确的方向? 谢谢。
【问题讨论】:
标签: android linux gcc shared-libraries