FFMPEG 库移植到 VC 需要的步骤

在VC下使用FFMPEG编译好的库,不仅仅是把.h,.lib,.dll拷贝到工程中就行了,还需要做以下几步。(此方法适用于自己使用MinGW编译的库,也同样适用于从网上下载的编译好的库,例如http://ffmpeg.zeranoe.com/builds/)。

(1)像其他额外库一样,设置VC的Include路径为你c:\msys\local\include,设置VClib路径为次c:\msys\local\bin,增加操作系统的一个Path c:\msys\local\bin(这一步好像不是必须的)。

(2)将mingw安装目录下的include的inttypes.h,stdint.h,_mingw.h三个文件拷到你ffmpeg库的目录下的include

(3)在_mingw.h文件的结尾处(在#endif 一行之前)添加了一行:
#define __restrict__

(4)把所有long long改成了__int64,如果是直接在vs2008下编译,则这个修改应该是不需要的(这步我没有遇到)

(5)
#ifdef __cplusplus

#include "stdio.h"
#include "stdlib.h"
#include "string.h"
#include "SDL/SDL.h"
//#include "windows.h"

extern "C"
{
        #include "ffmpeg/avutil.h"
        #include "ffmpeg/avcodec.h"
        #include "ffmpeg/avformat.h"
}

#endif
        
#pragma comment(lib,"avutil.lib")
#pragma comment(lib,"avcodec.lib")
#pragma comment(lib,"avformat.lib")

(6)如果遇到error C3861: ‘UINT64_C‘: identifier not found
在common.h里加入定义如下:
#ifndef INT64_C
#define INT64_C(c) (c ## LL)
#define UINT64_C(c) (c ## ULL)

#endif

原文地址:http://blog.sina.com.cn/s/blog_6bcde18101011v2h.html

时间: 2024-08-06 23:55:20

FFMPEG 库移植到 VC 需要的步骤的相关文章

win下编译ffmpeg库,Compile and build ffmpeg library and dll on Windows x64( 正版)

转载请注明:来自EricKing,thanks 从没想到编一个library这么坑爹,再次提醒各位百度的东西只能参考,想节约时间还是要到官网上去查看docum.不废话了,开始详细过程: ——>1.搭建Win下的GCC编译环境(因为win下vs不支持ffmpeg的compile 和build,官网上也有说这一点) ——>2.下载latest ffmpeg source(后面附官网地址),想办法将编译后的文件做成dll,这是win下编程调试的核心 (这里就用到vs下的一个vc的bash文件叫vcv

Cocos2d-x移植到WindowsPhone8移植问题-libcurl库移植问题

在Cocos2d-x 3.x最新版本中提供了Windows Phone 8平台移植libcurl库所需要的头文件和库文件.但要在Windows Phone 8平台成功移植libcurl库还是很不容易,需要费一些周折,我总结了如下几个步骤:配置头文件搜索路径配置链接环境添加动态链接库 1.配置头文件搜索路径整个步骤我们可以参考上一节介绍的rapidjson库移植.具体过程是选中HelloCppComponent工程,打开菜单"项目"→ "属性"弹出工程属性对话框,选择

FFmpeg库视频解码初探(软硬件解码)

ffmpeg 最近有工作需求用到ffmpeg,分享下.包括一些编码的基础知识,ffmpeg视频解码基础,还有GPU解码的部分. 属于科普工作,并不深入,记录了踩过的一些坑,希望有用 饮水思源:雷霄骅(雷神) & 代码部分参考自 同事***(打码)代码,谢谢大神! FFmpeg是一种功能强大的常用的视频/音频处理开源框架.支持几乎所有主流格式音视频的编解码,并能进行拼接等操作. 基础知识 视频格式:mp4, avi, mkv等,称之为封装格式,可以看成是一种容器. 视频流编码格式:h264, h2

实战FFmpeg--编译iOS平台使用的FFmpeg库

编译环境:Mac OS X 10.10.2 ,Xcode 6.3  iOS SDK 8.3        FFmpeg库的下载地址是 http://www.ffmpeg.org/releases/ .FFmpeg是一个跨平台的用C语言写成的库,包含了编码,解码,色彩空间转换等的库. 第一步: 下载编译FFmpeg所需要的脚本文件gas-preprocessor.pl,下载地址: https://github.com/mansr/gas-preprocessor .在mac终端中使用cp命令将脚本

【Python笔记】图片处理库PIL的源码安装步骤

前段时间项目需要对某些图片打水印,用到Python的PIL库,本文以Imaging-1.1.7为例,记录PIL库的源码编译/安装步骤. PIL全称Python Image Library,它支持多种图片格式的处理,能为我们的应用程序代理强大的图像处理能力,如裁剪.旋转.打水印等. 从官网下载v1.1.7版本源码并解压后,cd至解压目录,读README可知,若想在应用中处理jpeg图片,需要预先安装jpeg库,否则使用时会报错. 1. 编译安装jpeg库 1.1 编译源码 从jpeg库官网下载st

用minGW编译ffmpeg(供替换opencv中引用的ffmpeg库)

在安装好的opencv目录下找到路径:opencv245\opencv\3rdparty\ffmpeg,此路径下有一个readme.txt文件,内容如下所示: The build script is to be fixed. Right now it assumes that 32-bit MinGW is in the system path and 64-bit mingw is installed to c:\Apps\MinGW64. It is important that gcc i

FFmpeg简介及在vc2010下编译步骤

FFmpeg是一个开源的多媒体库,最新版本是2.4.3,它的License是LGPL或GPL.FFmpeg可以用来记录.转换数字音频.视频,并能将其转换为流的开源计算机程序.它包括了音/视频编码库libavcodec.FFmpeg是在Linux下开发出来的,但它可以在包括Windows在内的大多数操作系统中编译.它可以轻易地实现多种视频格式之间的相互转换. FFmpeg用vs2010编译步骤: 1.  从https://www.ffmpeg.org/download.html下载最新版本2.4.

Cocos2d-x移植到WindowsPhone8移植问题-libNetwork库移植问题

Cocos2d-x提供了libNetwork库的源代码,而且还提供了libNetwork库的源代码Visual Studio 2012工程文件libNetwork.vcxproj,这样就更方便移植了.提示 有的Cocos2d-x工程模板在解决方案中,已经有libNetwork库了,本节所介绍的过程就不需要了. 由于libNetwork库底层是依赖libcurl库,所以我们先要按照上一节介绍的步骤移植libcurl库,这个过程不在介绍.下面我们移植libNetwork库,具体步骤是:在解决方案中添

windows下cygwin编译ffmpeg库

ffmpeg在Linux下的编译相当简单,只需要configure ,再make 一下就可以了. 需要动态库的话在configure 后面加一个 --enable-shared  就ok了. 但在windows下就不是很容易了,在网上搜索了一下各种在windows下编译的方法,大多千篇一律,而且步骤繁琐,有的需要依赖很多库.而我只想像Linux下那样单纯方便的编译出ffmpeg里的几个库,是否有简单的方法呢?答案是肯定的. 下载cygwin,下载地址:https://cygwin.com/ 我下