在MINGW32下编译ffmpeg-2.1.1.tar.bz2

step1: ./configure   --prefix=/home/Administrator/install --extra-cflags=-I/home/Administrator/install/include --extra-ldflags=-L/home/Administrator/install/lib --enable-gpl   --enable-version3   --enable-memalign-hack --enable-nonfree --disable-doc   --disable-htmlpages   --disable-manpages   --disable-podpages   --disable-txtpages --disable-static   --enable-shared

step2: make

step3: make install

执行step2出现多处类型如下的报错:

D:\ProgramFile\MinGW\include\unistd.h:79:1: error: expected ',' or ';' before 'int'
int __mingw_sleep( unsigned long, unsigned long );
^
In file included from libavformat/file.c:26:0:

涉及的文件如下:

D:\ProgramFile\MinGW\msys\1.0\home\Administrator\source\ffmpeg-2.1.1\libavutil目录下 file.c file_open.c log.c random_seed.c time.c

D:\ProgramFile\MinGW\msys\1.0\home\Administrator\source\ffmpeg-2.1.1\libavformat目录下 cache.c file.c smoothstreamingenc.c

D:\ProgramFile\MinGW\msys\1.0\home\Administrator\source\ffmpeg-2.1.1\目录下 ffmpeg.c

对策:增加#include <windows.h>


#if HAVE_UNISTD_H
#include <unistd.h>
#endif
修改成
#if HAVE_UNISTD_H
#include <windows.h>
#include <unistd.h>
#endif

----------------------------------------------------------------

./configure   --prefix=/home/Administrator/install --extra-cflags=-I/home/Administrator/install/include   --extra-ldflags=-L/home/Administrator/install/lib --enable-gpl   --enable-version3   --enable-memalign-hack --enable-nonfree --disable-static --enable-shared --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --enable-bzlib --enable-zlib --enable-iconv --enable-libx264 --enable-libxavs --enable-libmp3lame --enable-libfaac --enable-libfdk-aac --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libopencore-amrnb --enable-libopencore-amrwb

改法1:将 #if CONFIG_ZLIB #include <zlib.h> #endif 修改成 #if CONFIG_ZLIB #include <windows.h> #include <zlib.h> #endif

改法2:在编译报错的地方增加添加#include <windows.h>

文件列表: D:\ProgramFile\MinGW\msys\1.0\home\Administrator\source\ffmpeg-2.1.1\libavformat目录下 id3v2.c matroskadec.c mov.c swdec.c swenc.c

D:\ProgramFile\MinGW\msys\1.0\home\Administrator\source\ffmpeg-2.1.1\libavcodec目录下 cscd.c dxa.c lcldec.c lclenc.c pngdec.c pngenc.c svq3.c tiff.c tiffenc.c tscc.c zmbv.c zmbvenc.c

编译FFMPEG错误对策的更多相关文章

  1. mingw编译ffmpeg 错误:Unknown option "--enable-memalign-hack"

    据说mingw编译ffmpeg的话需要添加 --enable-memalign-hack 开关 但如果源码是最新版比如:ffmpeg4.0.2 的话 好像已经禁用了该开关. “我可以确认新的ffmpe ...

  2. VS2015编译FFMPEG,修改FFmpeg缓冲区大小解决实时流解码丢包问题,FFmpeg错误rtsp流地址卡死的问题,设置超时

    之前尝试过很多网上利用Windows编译FFmpeg的文章,都没有办法编译X64位的FFmpeg,有些教程中有专门提到编译64位的FFmpeg需要下载mingw-w64-install,但是编译的过程 ...

  3. vs2015编译ffmpeg 出现错误rtmp.lib(rtmp.obj) : error LNK2001: 无法解析的外部符号 ___iob_func

    vs2015编译ffmpeg(版本3.0.2)引用外部库文件librtmp出现以下错误: rtmp.lib(rtmp.obj) : error LNK2001: 无法解析的外部符号 __imp__st ...

  4. vs2012 MinGW编译ffmpeg 出现libavdevice/avdevice.c(38) : error C2059: 语法错误:“.”

    利用vs2012编译ffmpeg出现以下错误: libavdevice/avdevice.c(38) : error C2059: 语法错误:“.” libavdevice/avdevice.c(40 ...

  5. iOS编译FFmpeg、kxmovie实现视频播放 (转载)

    由于FFmpeg开源框架的功能非常强大,可以播放的视频种类很多,同时添加第三方库kxmovie,实现视频播放,真的是爽爆了,因此今天来说一下关于FFmpeg在iOS手机上的一些配置过程,配置工具,还有 ...

  6. 开源项目:windows下使用MinGW+msys编译ffmpeg

    本文参考了网络上的不少文章,但由于版本环境的问题参考文章并不能直接指导编译,本文吸收多方经验,并在自己多次编译实验的基础上写成,欢迎转载,请注名出处.    FFmpeg是在Linux平台下开发的,但 ...

  7. NDK编译FFMpeg[Linux]

    最近在研究视频直播相关的技术,了解到了FFmpeg,就在网上查看如何将FFmpeg移植到Android中,查了几天,看的东西不少,就是没有一个可以完全移植成功的,最后通过产看各种资料,结合网上的资料, ...

  8. windows下编译ffmpeg

    windows 编译ffmpeg 搞过很多次,每次总是磕磕碰碰,从头到尾不能一直顺利,浪费一些时间.终究起原因,都是当时记得,过段时间就忘了.好记性不如烂笔头,大好周末晚上,闲暇无事,记录最近一次编译 ...

  9. windows 下使用 MinGW + msys 编译 ffmpeg

    本文参考了网络上的不少文章,但由于版本环境的问题参考文章并不能直接指导编译,本文吸收多方经验,并在自己多次编译实验的基础上写成,欢迎转载,请注名出处.    FFmpeg是在Linux平台下开发的,但 ...

随机推荐

  1. [人物存档]【AI少女】【捏脸数据】甜美粉色

    点击下载(城通网盘):AISChaF_20191028024804811.png

  2. jquery image选择器 语法

    jquery image选择器 语法 作用::image 选择器选取类型为 image 的 <input> 元素.无锡大理石测量平台 语法:$(":image") jq ...

  3. CDOJ 1135 邱老师看电影 概率dp

    邱老师看电影 Time Limit: 3000/1000MS (Java/Others)     Memory Limit: 65535/65535KB (Java/Others) Submit St ...

  4. hdu 5753

    Permutation Bo Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) ...

  5. noi.ac #531 神树和物品

    题目链接:戳我 决策单调性 (蒟蒻终于会写决策单调性啦!考试全场切这题就我不会啊嘤) (证明?不会啊,自己打表看QAQ) 44pts \(O(n^2)\)代码: #include<iostrea ...

  6. 【CUDA 基础】3.6 动态并行

    title: [CUDA 基础]3.6 动态并行 categories: - CUDA - Freshman tags: - 动态并行 - 嵌套执行 - 隐式同步 toc: true date: 20 ...

  7. selenium.common.exceptions.StaleElementReferenceException: Message: stale element reference: element is not attached to the page document

    抓取网页代码后,由于是在同一个li标签下,所以使用一次性抓取,所有的a标签,然后循环做不同的操作,但是抛出找不到元素异常. def office_page(_chrome: Chrome): sn = ...

  8. ERROR 1130 (HY000): Host 'test177' is not allowed to connect to this MySQL server

    异常 在测试环境新搭建的MySQL服务端,启动后登陆MySQL如下异常: [root@test177 ~]# mysql -u root -po2jSLWw0ni -h test177 mysql: ...

  9. HTTP中GET与POST的区别颠覆式的理解

    关于http中的get和post你轻轻松松的给出了一个“标准答案”: GET在浏览器回退时是无害的,而POST会再次提交请求. GET产生的URL地址可以被Bookmark,而POST不可以. GET ...

  10. @Transient的应用

    我今天分配的任务是为一个页面Debug,遇到了一个问题查询的实体类在数据库没有对应的表,这时最常用的是建立视图或者表,但是应用@Transient注释可以让你更简单,免除建立表还有视图需要找多表关联关 ...