在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> //<-----------