windows下编译最新x264

X264更新的比较快,每天都有更新,但算法模块,基本结构是没有多大变化的。x264都是用C语言写的包括C99,但C99语法是在VC中是没法用的(当然有精力可以全部改成C89),生成的.a库是也是没法调用的,如何转化成可用.lib库就比较重要了。 
1下载最新的x264
http://videolan.mirror.aussiehq.net.au/x264/snapshots/解压到d盘

2下载mingw+msys进行配置,这里有已配置好的,直接下载用就可以了
http://code.google.com/p/msys-cn/wiki/ChapterInstallation

但是这个配置好的编译工具,没有包含Yasm,因此,在编译过程中会出现Found no assembler的字样

解决方法:

下载http://yasm.tortall.net/Download.html的源码,当前最新源码版本是1.2.0,下载Source .tar.gz,然后解压到D:\yasm-1.2.0

进入mingw+msys,执行msys.bat,依次执行命令

cd /d/yasm-1.2.0 (进入目录)

./configure 回车 (执行配置文件)
make 回车 (开始编译)
make install 回车 (安装)
安装后,将会在MSYS的目录下多出一个local目录,将此目录下的所有文件拷贝到MSYS的目录的mingw,我本机的目录为:G:\VC\x264 bilud\MSYS\mingw
3 编译x264 
进入当前x264所在d盘的目录,执行./configure --enable-shared,然后make,即可生成x264的dll

Windows下编译最新的x264 - niulei20012001 - niulei20012001的博客

 


4 利用VC提供的工具导出lib
下载poxports
http://download.csdn.net/source/3036251 解压到VC所在的安装目录,比如说
C:/Program Files(x86)/Microsoft Visual Studio 10/VC/bin,解压以后pexports.exe拷贝至bin目录下
导出lib库, win7下面解压之后随便找个根目录放就可以 ,如果放在bin目录下会出现could not load PE image
pexports d:\\libx264-120.dll > d:\\libx264-120.def 
lib /machine:x86 /def:d:\\libx264-120.def /out:d:\\libx264-120.lib

5 测试导出的库是否正确
拷贝新生成的库libx264-120.lib和libx264-120.dll到新建的win32 工程下
拷贝原x264目录下的x264.h与x264_config.h至所建的win32工程下
下载pthreadGC2.dll和stdint.h
用如下程序测试
#include <iostream>
#include <string>
#include "stdint.h"
extern "C"
{
#include "x264.h"
#include "x264_config.h"
};
using namespace std;
int main()
{
x264_param_t param;
x264_param_default(&param);
return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值