libx264在VS2013中编译

libx264最新版本已经没有VS工程了,下载以前版本有VS工程,可以编译成功。libx264里面有部分汇编代码,采用的编译器是YASM,所以首先要把YASM集成到VS2013中。下面记录一下编译中遇到的问题。编译环境VS2013&&WIN10。

1.卸载系统中YASM。搜索系统中的yasm.exe,yasm.props,yasm.xml,yasm.targetsvsyasm.exe,vsyasm.props,vsyasm.xml.vsyasm.targets。VS2013中一般yasm.exe安装在C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin,配置文件在目录中C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\BuildCustomizations。

2.下载YASM,地址:http://www.tortall.net/projects/yasm/wiki/Download 安装32位即可。

3.安装YASM。解压安装包,把yasm.exe复制到 C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin,配置文件复制到目录C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\BuildCustomizations。

4.下载libx264库。http://download.videolan.org/pub/videolan/x264/snapshots/x264-snapshot-20091006-2245.tar.bz2。

5.解压x264-snapshot-20091006-2245.tar.bz,用VS2013打开。

6.libx264项目,需要编译汇编,设置汇编工具为YASM。

7.可以查看每一个asm文件,看看是否编译到工程中,已经使用的编译工具。

8.编译libx264工程,生成成功。

9.编译x264工程,报错,因为是日志,我直接把这行注释掉的。

10.编译报错,找不到x264_lookahead_init等函数。这种情况看错误说明是libx264.lib库里面没有找到定义,而libx264.lib库中,这个函数可能定义在.c文件,也可能定义在.asm文件中。可以用xsearch.exe工具搜索文件内容,发现有两个.c文件有引用这个函数,打开lookahead.c找到这个函数的定义,说明库工程编译时,把这个.c文件忘记加入了,可能是VS工程更新滞后的原因,把文件加上,然后编译。

 11.两个工程重新编译,编译成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值