xvid-1.1.3 vc6.0调试小结

来源:互联网 发布:通信软件培训 编辑:程序博客网 时间:2024/04/30 16:00

在http://www.xvid.org上可以下到最新版本的xvid,目前最新的1.1.3版本,而网上流传的那份编译指南(中间加载有中文注释的那个),是很早以前的编译方法,大体上都可以用,小的地方就需要自己解决了。而我就被这些小问题折腾了两天才编译成功。

Peter lee的网站上肯定有说法了,http://blog.csdn.net/sunshine1314/articles/392377.aspx很值得一看。下面就说一下我的编译过程。

1、下载1.1.3源码和必要的一些补丁(以前都有了);

2、编译xvidcore.dsw,在<path>/xvidcore-1.1.3/build/win32。它包含7个工程,首先要编译libxvidcore.dsp,才能编译其他的。可以在右键在该工程然后bulid only或者选择set as active。我编译的时候遇到这个问题:

 Assembling ../../src/image/x86_asm/colorspace_yuyv_mmx.asm
系统无法执行指定的程序。
Error executing c:/windows/system32/cmd.exe.

就是这个问题困扰我两天,上述编译指南的常见问题中有讲了这个问题,但是我却怎么也编译不过。后来下了nasm-0.98.36,之后在c盘搜索nasm.exe文件,全部替换,就ok了。这个问题的本质是在编译指南中说的,nasm版本的问题。其实nasm是汇编的编译器,在每个asm文件都对应了一个命令行编译参数,就好像gcc的-0 -l的一样。在vc中可以从project-setting-custom bulid中选择想编译的文件方式,也可以在该文件上右键选择setting,进行custom bulid的编辑。如果想深入学习就看nasm的语法吧。

2、编译xvidcore.dsw的其他工程,这个时候会在<path>/win32/bin下生成xvidcore.dll和一些其他文件,注意不是有些资料说的xvid.dll(http://blog.csdn.net/happyskywh/archive/2007/03/01/1517639.aspx也有说明)。

3、这个时候看一下开始说的那个资料,会发现在<path>/xvidcore-1.1.3/vfw/bin中真的有一个xvid.inf,不要急着右键安装,你会得到一个错误:找不到文件xvidvfw.dll和xvidcore.dll(中间有个警告,无关紧要,mirosoft的垄断而已)。其实是需要再编译工程vfw.dsw,在<path>/xvidcore-1.1.3/vfw下面。

4、还需要编译位于<path>/xvidcore-1.1.3/dshow下面的dshow.dsw才能得到另外一个关键的插件:xvid.ax(做过directshow的都知道它的重要性了)。编译这个的时候出了一个小问题,就是directshow的一个库没找到,使得外部符号不能解析,我就很无赖的把strmbasd.lib拷过来了。

得到开始说的资料中的那些文件后就可以xvid.inf来安装了。

在那个资料的确认是否安装了xvid库的时候:控制面板》声音与多媒体,选择硬件tab,...

应该是:控制面板》声音与音频设备,选择硬件tab,...(这里也想了一会)

 

总结:

最后说一下,在http://www.xvid.org上可以下到安装版的,我认为这两个东西应该是一样的作用。也就是你自己编译安装后要达到那个东西的效果,如果不行就是不对。而我现在还没完成真正的测试。哪位搞定了请说一下。

用命令行,使用xvid_encraw.exe编码的现在还不能播放,不知道是用什么办法播放来测试呢?

原创粉丝点击