ERROR: utvideo not found 解决方法

ERROR: utvideo not found 解决方法

在mingw32环境下 FFmpeg中 ./configure --enable-libutvideo 是出现 ERROR: utvideo not found.
网上查了不少资料,有各种方法,修改代码等等,我认为都不是正解.首先要清楚的是utvideo的开发环境.
编译utvideo需要 vs2005+ Microsoft SDKs 6.1.所以这两个都要安装.这两个都是1G以上的安装包.
问题原因两种 一是没有正确编译libutvideo.a 还有/MinGW/include/utvideo/Codec.h有问题

第一正确编译libutvideo.a,这个需要 cross_compile交叉编译, mingw32 默认安装就没有交叉编译环境
需要安装 w32api-3.14-3-msys-1.0.12-dev.tar.lzma,下载地址
http://sourceforge.net/projects/mingw/files/MSYS/msysdev/w32api/
下载之后把include lib目录下的文件拷贝到/MinGW/下
还有utvideo-xx.x.x 原代码文件中 GNUmakefile 中
CROSS_PREFIX=
#WINSDK_ROOT="/c/Program Files/Microsoft SDKs/Windows/v6.1"
#CPPFLAGS=-I/usr/include/w32api -I$(WINSDK_ROOT)/Include
修改成
CROSS_PREFIX= ming32-
WINSDK_ROOT="/c/Program Files/Microsoft SDKs/Windows/v6.1"
CPPFLAGS=-I/ mingw/include/w32api -I$(WINSDK_ROOT)/Include
之后make / make install就生成libutvideo.a

第二正确编译utvideo之后在FFmpeg中./configure --enable-libutvideo 还出现ERROR: utvideo not found.
include/utvideo/Codec.h:31:24: error: 'INT_PTR' has not been declared
这是\MinGW\include\utvideo\Codec.h文件中没有定义INT_PTR
在\MinGW\include\utvideo\ Codec.h文件中添加 windows.h 就可以
#pragma once
#include <windows.h> //<-----------

你可能感兴趣的:(ERROR: utvideo not found 解决方法)