FFMPEG 库移植到 VC 需要的步骤

news/2024/7/10 19:13:14 标签: ffmpeg, python, 操作系统

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

在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

转载于:https://my.oschina.net/leixiaohua1020/blog/301901


http://www.niftyadmin.cn/n/846152.html

相关文章

关于MySql链接url参数的设置

jdbc.driverClassNamecom.mysql.jdbc.Driverjdbc.urljdbc:mysql://localhost:3306/database?useUnicodetrue&characterEncodingutf8&autoReconnecttrue&rewriteBatchedStatementsTRUEjdbc.usernamerootjdbc.passwordpassword 特别说明其中的jdbc.url配置&#xff…

jQuery 学习笔记

2019独角兽企业重金招聘Python工程师标准>>> 本文存下来作为备忘。 1,更改css样式四种情况: A,$(“p”).(“background-color”,”red”); B,var nome { background:’red’, margin:’10px 0 0’ }; $(“p”).css(nome); C&a…

linux /dev目录

linux /dev目录 dev 是设备(device)的英文缩写。这个目录对所有的用户都十分重要。因为在这个目录中包含了所有Linux系统中使用的外部设备。但是这里并不是放的外部设备的驱动程序。这一点和我们常用的windows, dos操作系统不一样。它实际上是一个访问这些外部设备的端口。我们…

Linux用户和内核空间之间的通信实现

该设备自己定义了一些ioctl命令字范围在SIOCDEVPRIVATE到SIOCDEVPRIVATE 15之间),调用函数dev_ioctl实现对该设备指定的ioctl命令的操作。 ■ dev_ioctl() 功能:用来处理所有设备接口的ioctl请求,只是一个包装器,…

使用Kubernetes 构建自动化平台

编者按:本文由Wercker CTO Andy Smith 分享,他分享了Kubernetes如何帮助他们节省时间并加速开发。本文是关于Kubernetes 1.3新功能一系列深入文章的第九篇。 我们在Wercker运行数百万容器执行用户的CI/ CD工作。这些容器的生命周期大多是短暂的&#xff…

MongoDB Windows环境安装及配置

2019独角兽企业重金招聘Python工程师标准>>> 1.第一步:下载合适的安装包,目前的最新版本为2.6,网址为:http://www.mongodb.org/downloads。 安装包有zip和msi两种格式,msi安装时不让选择安装路径&#xff0…

mac下的virtualbox启动失败处理

不知从哪个版本开始,mac下的virtualbox建立vm以后,启动就提示什么驱动没有加载,google后,解决如下 sudo /Library/Application\ Support/VirtualBox/LaunchDaemons/VirtualBoxStartup.sh restart

iTOP4412|Android-4.0.3_r1 Gralloc

0 前言 Gralloc(gralloc_module_t)模块相关的设备有alloc_device_t和framebuffer_device_t,可分别用于内存的申请/释放和图像绘制,本文基于android-4.0.3_r1对其实现和应用进行分析。 相关:《iTOP4412|Android-4.4.4_r1 Gralloc》、《iTOP4412|Android-5.1.1_r9 Gralloc》…