vs2008编译Xvid源代码 1.2.2版本

转载 2011年01月13日 11:13:00

  一:首先需要下载Xvid1.2.2的源代码,在Xvid网站上可以下载。

  网站主页http://www.xvid.org/Home-of-the-Xvid-Codec.1.0.html

 

  版本1.2.2源代码下载页网址http://www.xvid.org/Downloads.43.0.html,下载链接为xvidcore-1.2.2.zip 大小为870k多一点。

  

    二:下载后解压,得到文件夹xvidcore。备用。

  

    三:源代码中有汇编代码,需要下载汇编器nasm.exe进行编译。下载网址为http://sourceforge.net/projects/nasm/

下载最新版本的nasm编译器,我下载的版本为2.07,链接为 nasm-2.07-installer.exe (687.8KB)   大小为687.8k。

   

    四:下载后安装。进入安装文件夹,复制可执行文件nasm.exe到vs2008的安装路径  /Microsoft Visual Studio 9.0/VC/bin  下。

    五:进入路径/xvidcore/build/win32,先打开VS2008,再将路径中的文件libxvidcore.sln拖入VS2008中打开。拖入后,立刻弹出

工程转换对话框,按照对话框将工程转换为vs2008版本。打开后在 解决方案资源管理器 中可以看出  有1个解决方案(libxvidcore)3个

项目(libxvidcore,xvid_decraw,xvid_encraw)。

    六:先编译debug版本,选择菜单栏中的 生成/批生成 ,选择3个项目的debug版本,win32平台进行生成。会出现以下错误

   第一类错误:LINK : fatal error LNK1104: 无法打开文件“xvidcore.dll.a”

  

   解决方法步骤:

   

      1:选中项目libxvidcore,右键点击,属性,配置属性,高级,导入库,将 bin/xvidcore.dll.a 修改为

           bin/libxvidcore.lib。

       2:选中项目xvid_decraw,右键点击,属性,配置属性,输入,附加依赖项,将xvidcore.dll.a修改为libxvidcore.lib。

       3:选中项目xvid_encraw,右键点击,属性,配置属性,输入,附加依赖项,将xvidcore.dll.a修改为libxvidcore.lib。

    解决了第一类错误后再次生成仍然出现失败。因为存在第二类错误

  

    错误内容为

   

    项目libxvidcore为

    nasm: error: more than one input file specified
    nasm: error: more than one input file specified
    nasm: error: more than one input file specified
    nasm: error: more than one input file specified

    type `nasm -h' for help

    Project : error PRJ0019: 某个工具从以下位置返回了错误代码: "/xvidcore/src/plugins/x86_asm/plugin_ssim-a.asm"

   

     项目xvid_decraw和xvid_encraw错误同为

     LINK : fatal error LNK1104: 无法打开文件“libxvidcore.lib”

   

     说明一下,libxvidcore.lib需要在libxvidcore项目中生成,而该项目还未通过编译,更没生成文件,当然打不开libxvidcore.lib文件了。因此先要让libxvidcore项目通过编译生成libxvidcore.lib文件。而libxvidcore项目中的错误为这类错误nasm: error: more than one input file specified。提示有 某个工具从以下位置返回了错误代码: "/xvidcore/src/plugins/x86_asm/plugin_ssim-a.asm"

     第二类错误:nasm: error: more than one input file specified

  

     解决步骤:

     1:在 解决方案资源管理器中点击项目libxvidcore,找到plugin_ssim-a.asm文件,右击,属性,配置属性,自定义生成

步骤,常规,命令行。打开命令行编辑其中的内容;

 

    其中的内容为   nasm -f win32 -DWINDOWS -I../../src/ -o $(IntDir)/$(InputName).obj $(InputPath)

  

    改为nasm -f win32 -DWINDOWS -I../../src/ -o "$(IntDir)/$(InputName).obj" "$(InputPath)"然后确定。

    再次生成仍然有该类问题,如上同样办法继续解决。知道解决所有的该类问题后就可以成功生成了。

 

    2:特殊情况

  

    处理colorspace_yuyv_mmx.asm,colorspace_rgb_mmx.asm,colorspace_yuv_mmx.asm三个文件的该类问题时,以

 

    colorspace_yuyv_mmx.asm为例。

    命令行中的内容为nasm -f win32 -DWINDOWS -I$(InputDir)/ -I../../src/ -o $(IntDir)/$(InputName).obj $(InputPath)


    需要改为nasm -f win32 -DWINDOWS "-I$(InputDir)/" -I../../src/ -o "$(IntDir)/$(InputName).obj" "$(InputPath)"

    注意同上面的区别。

    七:第二类问题解决完后就可以生成了。不过生成的是debug版本,如要release版本,好像又要出现以上问题,又要重新修改,很是麻

烦。但最终还是能够全部成功生成。

     说明,以上的解决方法来自多篇的网络博客或总结,但没有详细的过程,其中有注意的地方也没有提示,让我琢磨了很久,最终经过我的

实践后写成,希望对其他人有所帮助。

     参考附录:

vs2008编译xvid-1.2.2的libxvidcore.lib的方法

http://blog.csdn.net/osoon/archive/2009/11/08/4785673.aspx

[XviD-devel] need the file libxvidcore.lib

http://list.xvid.org/pipermail/xvid-devel/2008-December/006031.html


Visual Studio 2008 XviD编译过程

http://blog.sina.com.cn/s/blog_4c451e0e0100ahxg.html

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/MyEclipseWorkspace/archive/2010/07/20/5750867.aspx

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/MyEclipseWorkspace/archive/2010/07/20/5750867.aspx

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/MyEclipseWorkspace/archive/2010/07/20/5750867.aspx

相关文章推荐

2048C#版本VS2008环境源代码

  • 2014年06月27日 09:03
  • 417KB
  • 下载

VS2008环境下编译Sqlite源代码

VS2008环境下编译Sqlite源代码 好久没写博客了,趁着这个周末没啥事,就研究了一下Sqlite这个轻量级的数据库,这个数据库是由纯C代码写成的,很适合做轻量级的应用,如嵌入式GIS中数据存储的...

解决VS2005 VS2008 vs2010断点无效-源代码与原始版本不同

解决VS2005 VS2008 vs2010断点无效-源代码与原始版本不同 网上说的方法:(额~但是我就是不能用。但是也贴出来) 方法1、 直接把整个文件格式化了一次,断点就可以用了。具体操作...
  • haiross
  • haiross
  • 2015年05月18日 14:34
  • 5117

如何在vs2008中编译调试apache源代码

如何在vs2008中编译调试apache源代码   1.      目的起因 到处讲的都是Web服务器工作原理,什么URL连接请求->响应;但是想看看到底怎...

vs2008在打了SP1补丁后编译版本不匹配,导致“应用程序配置不正确,应用程序未能启动

VS 2008 的Bug,因为编译的版本manifest跟发行的版本号的问题,在微软的MSDN ONLINE里面有说明以及处理方法 可以用其中一种方法解决 在所有的Stdaf.h中前面加入两行 ...
  • annhoo
  • annhoo
  • 2014年03月11日 15:56
  • 1025

VS2008或以上版本的ActiveX控件的测试工具(ActiveX Control Test Container)编译记录

最近有个项目需要提供64位OCX资源给客户,但是客户没有给出测试环境,需要自己先内部测试。但是64位的IE怎么也调不到64位的OCX,没办法,只好另辟蹊径使用IDE自带的TstCon32.exe(Ac...

win32 vs2008 2010编译X264的过程(只针对x264支持windows的版本)

原文地址:http://bbs.chinavideo.org/viewthread.php?tid=9825&extra=page%3D1%26amp%3Bfilter%3Dtype%26amp%3B...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:vs2008编译Xvid源代码 1.2.2版本
举报原因:
原因补充:

(最多只允许输入30个字)