ChinaFFmpeg

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 13074|回复: 1

[Android] 【问题已解决】编译ffmpeg为动态库遇到的问题

[复制链接]
发表于 2013-10-12 21:12:01 | 显示全部楼层 |阅读模式
本帖最后由 宁静致远 于 2013-10-12 21:34 编辑

Hi ALL

我参照这位大神的makeifle脚本来编译ffmpeg,
https://sourceforge.net/u/faywong/ffmpeg4android/ci/master/tree/

我的目的是将ffmpeg编译成一个动态库,我调用它里面的libavformat的东西去解析文件。
(单独编译libavformat为动态库还没研究,先弄完ffmpeg再研究下怎么只编译libavformat,理论上只要把依赖变成静态库,静态链接起来,
把libavformat编译成动态库就OK)
我做的一些修改是:
configure的时候
    --enable-static \
        --disable-ffplay \
        --disable-ffprobe \
        --disable-ffserver


编译的Android.mk
#        include $(BUILD_EXECUTABLE)    //用这个就成功
        include $(BUILD_SHARED_LIBRARY)   //用这个就失败
#        include $(BUILD_STATIC_LIBRARY)  //用这个就成功


我发现我编译动态库的时候总是报错,报错内容是:


target SharedLib: ffmpeg-static-2.0 (XXXXXXXXXXXXXX/SHARED_LIBRARIES/ffmpeg-static-2.0_intermediates/LINKED/ffmpeg-static-2.0.so)
XXXXXXXXXXXXXX/android/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7/bin/../lib/gcc/arm-linux-androideabi/4.7/../../../../arm-linux-androideabi/bin/ld: warning: shared library text segment is not shareable
XXXXXXXXXXXXXX/android/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7/bin/../lib/gcc/arm-linux-androideabi/4.7/../../../../arm-linux-androideabi/bin/ld: error: treating warnings as errors
collect2: error: ld returned 1 exit status
make: *** [XXXXXXXXXXXXXX/obj/SHARED_LIBRARIES/ffmpeg-static-2.0_intermediates/LINKED/ffmpeg-static-2.0.so] Error 1
make: Leaving directory `XXXXXXXXXXXXXX/android'


总是有这个错出来,我也不知道怎么解决。网上说加入 -fPIC就能解决, 加到哪呢?我加了好像没用,不知道是不是我加错了。

谢谢各位。



回复

使用道具 举报

 楼主| 发表于 2013-10-12 21:33:36 | 显示全部楼层
结贴。

问题已经解决,由于汇编的问题,disable-asm就好了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|Archiver|ChinaFFmpeg

GMT+8, 2024-5-4 14:03 , Processed in 0.134265 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表