ndk编译 ffmpeg 1.1.1 出现libavutil/time.h 和系统的time.h 冲突问题 ;
来源:互联网 发布:淘宝盗版书怎么举报 编辑:程序博客网 时间:2024/05/18 00:19
编译的时候出现如下错误:
/jni/libavutil/parseutils.h:189: warning: its scope is only this definition or declaration, which is probably not what you want
/jni/libavutil/parseutils.h:202: warning: 'struct tm' declared inside parameter list
/jni/libavutil/opt.c: In function 'av_find_opt':
/jni/libavutil/opt.c:49: warning: 'av_next_option' is deprecated (declared at g/jni/libavutil/opt.h:376)
/jni/libavutil/opt.c: In function 'av_opt_get':
/jni/libavutil/opt.c:665: warning: this decimal constant is unsigned only in ISO C90
/jni/libavutil/opt.c: In function 'av_opt_set_defaults':
/jni/libavutil/opt.c:1067: warning: 'av_opt_set_defaults2' is deprecated (fmpeg_streaming/jni/libavutil/opt.h:399)
utils.c
liang/ffmpeg_streaming/jni/libavutil/parseutils.c:32:
/jni/libavutil/parseutils.h:189: warning: 'struct tm' declared inside parameter list
/jni/libavutil/parseutils.h:189: warning: its scope is only this definition or declaration, which is probably not what you want
/jni/libavutil/parseutils.h:202: warning: 'struct tm' declared inside parameter list
/jni/libavutil/parseutils.c:463: warning: 'struct tm' declared inside parameter list
/jni/libavutil/parseutils.c:463: error: conflicting types for 'av_small_strptime'
/jni/libavutil/parseutils.h:189: note: previous declaration of 'av_small_strptime' was here
/jni/libavutil/parseutils.c: In function 'av_small_strptime':
/jni/libavutil/parseutils.c:485: error: dereferencing pointer to incomplete type
/jni/libavutil/parseutils.c:491: error: dereferencing pointer to incomplete type
/jni/libavutil/parseutils.c:497: error: dereferencing pointer to incomplete type
/jni/libavutil/parseutils.c:503: error: dereferencing pointer to incomplete type
/jni/libavutil/parseutils.c:509: error: dereferencing pointer to incomplete type
/jni/libavutil/parseutils.c:515: error: dereferencing pointer to incomplete type
/jni/libavutil/parseutils.c: At top level:
/jni/libavutil/parseutils.c:531: warning: 'struct tm' declared inside parameter list
/jni/libavutil/parseutils.c:531: error: conflicting types for 'av_timegm'
/jni/libavutil/parseutils.h:202: note: previous declaration of 'av_timegm' was here
/jni/libavutil/parseutils.c: In function 'av_timegm':
/jni/libavutil/parseutils.c:535: error: dereferencing pointer to incomplete type
/jni/libavutil/parseutils.c:535: error: dereferencing pointer to incomplete type
/jni/libavutil/parseutils.c:535: error: dereferencing pointer to incomplete type
/jni/libavutil/parseutils.c:545: error: dereferencing pointer to incomplete type
/jni/libavutil/parseutils.c:545: error: dereferencing pointer to incomplete type
/jni/libavutil/parseutils.c:545: error: dereferencing pointer to incomplete type
/jni/libavutil/parseutils.c: In function 'av_parse_time':
/jni/libavutil/parseutils.c:555: error: variable 'dt' has initializer but incomplete type
/jni/libavutil/parseutils.c:555: warning: excess elements in struct initializer
/jni/libavutil/parseutils.c:555: warning: (near initialization for 'dt')
/jni/libavutil/parseutils.c:555: error: storage size of 'dt' isn't known
/jni/libavutil/parseutils.c:648: error: variable 'dt2' has initializer but incomplete type
/jni/libavutil/parseutils.c:648: error: invalid type argument of 'unary *' (have 'int')
/jni/libavutil/parseutils.c:648: error: invalid type argument of 'unary *' (have 'int')
/jni/libavutil/parseutils.c:648: error: storage size of 'dt2' isn't known
g_streaming/obj/local/armeabi/objs/avutil/parseutils.o] Error 1
以上问题均是由于ffmpeg 里面 libavutil.c 底下 自带了time.h 当系统编译的时候 没有引用到 struct tm 的定义导致 ;
做了如下修改,
1.将 libavutil/ time.h libavutil/time.c 修改成 libavutil/ avtime.h libavutil/avtime.c
2.将下面列出来的文件 libavutil/time.h 修改成 libavutil/avtime.h
接着 ndk-build 即可 解决以上问题 ;
/------------------------------------------------------------------modify : modify time.h -> avtime.h
cp libavutil/time.c libavutil/avtime.c
cp libavutil/time.h libavutil/avtime.h
vi tools/aviocat.c
vi tools/pktdumper.c
vi ./libavdevice/openal-dec.c
vi ./libavdevice/bktr.c
vi ././libavdevice/oss_audio.c
vi ./libavdevice/v4l2-common.h
vi ./libavdevice/alsa-audio-dec.c
vi ./libavdevice/x11grab.c
vi ./libavdevice/fbdev_dec.c
vi ./libavdevice/sndio_dec.c
vi ./libavdevice/alsa-audio-enc.c
vi ./libavdevice/pulse_audio_enc.c
vi ./libavdevice/jack_audio.c
vi ./ffserver.c
vi ./ffplay.c
vi ././libavformat/mux.c^C
vi ./libavformat/mux.c
vi ./libavformat/network.c
vi ./libavformat/hls.c
vi ./libavformat/rtpdec.c
vi ./libavformat/tcp.c
vi ./libavformat/hlsproto.c
vi ./libavformat/rtsp.c
vi ./libavformat/rtspenc.c
vi ././libavformat/rtmphttp.c
vi ./libavformat/sapenc.c
vi ./libavformat/rtspdec.c
vi ./libavformat/udp.c
vi ./libavformat/utils.c
vi ./libavformat/avio.c
vi ./libavcodec/fft-test.c
vi ./libavcodec/motion-test.c
vi ./libavcodec/dct-test.c
vi ./ffmpeg.c
vi ./libavutil/parseutils.h
vi ./libavutil/parseutils.h
vi ./tags
vi ./libavfilter/setpts.c
0 0
- ndk编译 ffmpeg 1.1.1 出现libavutil/time.h 和系统的time.h 冲突问题 ;
- 【ffmpeg + VS2010】编译包含libavutil\common.h后出现找不到inttypes.h的问题
- 【ffmpeg + VS2010】编译包含libavutil\common.h后出现找不到inttypes.h的问题
- 【ffmpeg + VS2010】编译包含libavutil\common.h后出现找不到inttypes.h的问题
- 关于在ffmpeg中time.h 和 项目中的time.h 的冲突解决。苹果真坑。
- #include time.h和 #include sys/time.h的区别
- #include time.h和 #include sys/time.h的区别
- #include time.h和 #include sys/time.h的区别
- #include time.h和 #include sys/time.h的区别
- #include time.h和 #include sys/time.h的区别
- time .h 的用法
- time.h 的 应用
- time.h
- time.h
- time.h
- time.h
- time.h
- time.h
- Pig common command
- shell学习1:入门
- 菜鸟记录学习java的点点滴滴之入门
- Python:去掉粘贴代码后的行号
- AVR键盘扫描
- ndk编译 ffmpeg 1.1.1 出现libavutil/time.h 和系统的time.h 冲突问题 ;
- JAVA基础 -- 命令行
- 5月19日—我的第一篇博客翻译
- 尽可能用初始化列表 避免两次构造
- 电源管理ACPI、及APM、GNU/Linux系统下的对应命令使用
- 如何获取当前Activity实例
- 单链表的常见题型汇总
- Create a Project with Eclipse 利用Eclipse建立一个项目
- 华为初级——字符个数统计(三种情况)