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-12-26 19:19:13

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

在Android中通过jni方式使用编译好的FFmpeg库-Android中使用FFmpeg媒体库(二)

原文:http://doandroid.info/?p=471 在继上篇在32位的Ubuntu 11.04中为Android NDK r6编译FFmpeg最新版0.8.1后,本人来给大家展示一下如何在Android中使用编译好的FFmpeg库. 整体调用逻辑为: 1 编译完ffmpeg库 2 使用jni方式撰写c代码,其中需要包含相应的ffmpeg的头文件 3 撰写相应的Android.mk文件,里面指定需要编译的c代码以及需要链接的动态库 4 执行ndk-build生成相应的jni库 5 创建

JNI下ffmpeg库文件链接问题(由于安卓版本低造成)

问题描述 JNI下ffmpeg库文件链接问题(由于安卓版本低造成) 小弟最近在弄ffmpeg,先已成功移植到安卓平台了并可以运行,可是仅限安卓4.3+版本, 换到安卓4.0的就报错: Caused by :java.lang.UnsatisfiedLinkError:Cannot load library:link image:1252could not load needed library 'libswresample-1.so' for 'libavcodec-56.so: library

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

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

C程序移植到VC开发环境下

说明 本文是作者学习计算方法时所做工作的总结.我们改写了徐士良先生编著的<C常用算法程序集>(清华大学出版社出版) 数值计算部分-前15章所有程序,并全部在 VC6 + Windows2000 下调试通过.数组类和矩阵类有两个版本:封装成模板类.普通类,我个人认为后者可能更实用,但论文中以模板类形式给出. 本文已经在www.vchelp.net上发表过,该网站允许作者另投其他网站. 摘要 针对C程序的特点,给出将之移植到VC集成环境下的技术,对一个常用程序集实施了大规模的改写,并提供了C++数

一个使用FFmpeg库读取3gp视频的例子-Android中使用FFmpeg媒体库(三)

原文:http://doandroid.info/?p=497 在续系列文章在32位的Ubuntu 11.04中为Android NDK r6编译FFmpeg0.8.1版-Android中使用FFmpeg媒体库(一)和在Android中通过jni方式使用编译好的FFmpeg库-Android中使用FFmpeg媒体库(二)文章后,本文将根据github中churnlabs的一个开源项目,来深入展开说明如何使用FFmpeg库进行多媒体的开发. 本文中的代码来自于https://github.com/

代码-如何利用ffmpeg库实现对实时rtsp流每一秒截一张图

问题描述 如何利用ffmpeg库实现对实时rtsp流每一秒截一张图 我想实现这个功能,利用ffmpeg库,对实时rtsp流每一秒截一张图.我自己写了段代码 while(av_read_frame(pAVFormatContext,&pAVPacket) >= 0){ if(pAVPacket.stream_index == videoStreamIndex){ avcodec_decode_video2(pAVCodecContext,pAVFrame,&m_i_frameFinis

从资源中加载皮肤, 使用免费界面库 AppFace For VC 0.2 美化您的软件

由于单位上最近要开发一个内部使用的小型项目,我需要一个运行稳定的,能够将皮肤文件放到资源里的并且易于使用的界面开发包,当然,免费的最好.于是利用google一阵狂搜,嘿,真还找到了这样的一个开发库:AppFace For VC 0.2 . AppFace For VC 支持Win9X/NT/2K/XP,UNICODE/ANSI,能够对目标进程里的所有Widows标准控件,系统菜单,通用对话框等实现换肤,对非商业用途而言,它是完全免费的.关键的是AppFace的使用非常简单,很容易添加到已有的工程

求Mono平台上的FFMPEG库

问题描述 我想在PSV平台写一个播放器,该平台是C#Mono的虚拟机为运行的,但ffmpeg是C库,其他的也是有的依靠平台的API或者其他东西,所以我想在此弱弱的问一下有没有不依靠平台API的Mono移植库呢? 解决方案 解决方案二:看一下是否可以满足你的需求另外

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

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