Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > C/C++ > 如何在vc6,vc7,vc8下编译x264
【标  题】:如何在vc6,vc7,vc8下编译x264
【关键字】:vc6,vc7,vc8,x264
【来  源】:http://blog.csdn.net/VideoPrimer/archive/2006/07/26/980427.aspx

如何在vc6,vc7,vc8下编译x264

Your Ad Here

    最近在学习H264 ,用SVN直接下载源代码在VC环境下编译,主要是参考李世平老师在http://blog.csdn.net/sunshine1314/archive/2005/05/20/377158.aspx中所讲的,但还是不能直接编译通过,本人作如下修改,便能顺利通过编译,在此写下来供初学者参考。

  1. 所用的代码为2006年7月26日用TortiseSVN从官方网站站上下载;
  2. 编译环境完全按照李世平老师所讲的;
  3. 将build\win32目录下的所有文件(共8个文件)用写字板打开后按照原文件名保存;
  4. 用写字板将libx264.dsp文件打开并删除376~379行的内容后保存,即删除:     # Begin Source File SOURCE="..\..\common\i386\dct-c.c"    # End Source File

             用同样的方法将libx264.vcproj打开并删除1058~1085行内容后保存,即删除:

    <File<File  RelativePath="..\..\common\i386\dct-c.c">
     <FileConfiguration
      Name="Release|Win32">
      <Tool
       Name="VCCLCompilerTool"
       Optimization="2"
       AdditionalIncludeDirectories=""
       PreprocessorDefinitions=""/>
     </FileConfiguration>
     <FileConfiguration
      Name="Debug|Win32">
      <Tool
       Name="VCCLCompilerTool"
       Optimization="0"
       AdditionalIncludeDirectories=""
       PreprocessorDefinitions=""
       BasicRuntimeChecks="3"/>
     </FileConfiguration>
     <FileConfiguration
      Name="Release64|Win32">
      <Tool
       Name="VCCLCompilerTool"
       Optimization="2"
       AdditionalIncludeDirectories=""
       PreprocessorDefinitions=""/>
     </FileConfiguration>
    </File>

5.接下来就可以编译了:但在编译时会出现两处“L”和“ULL”有问题的地方(只是在VC6中出现这种问题,VC7和VC8中不会出现这种问题),就直接将“L”和“ULL”删除就行(因为数据类型问题)。即:common\predict.c的615行 *(uint64_t*)(edge+24) = SRC(7,-1) * 0x0101010101010101ULL;改为 *(uint64_t*)(edge+24) = SRC(7,-1) * 0x0101010101010101;和matroksa.c中的431行 if (delta > 32767ll || delta < -32768ll)改为 if (delta > 32767 || delta < -32768)

通过以上方法就可直接在官方网站下载代码自己编译了。如果大家在编译过程中有什么问题或学习经验,请贴出来共同分享。

关于assert,exception以及return:【上一篇】
线程模型支持类:【下一篇】
【相关文章】
  • 别了,VC6!!!
  • WTL 7.5 8.0 VC6下面的安装
  • 忍不住还是要发篇文章:关于VC6中(VARIANT)BSTR传入传出发生RtlSizeHeap(user breakpoint at address)的...
  • 管中窥豹:VS2005与VC6的差别
  • 使用vs2005(vc8)编译log4cpp-0.3.5rc3
  • 驱动开发之一:vc6.0IDE+DriverStudio的配置
  • 宽字符标量L"xx"在VC6.0/7.0和GNU g++中的不同实现[zt]
  • 用Vc6编译GuitoolKit
  • vc6常用快捷键(被忘录)
  • 在VC6中使用GDI的方法(附一个使用GDI+的批量图片格式转换程序)
  • 【随机文章】
  • V5R3 新增的系统值
  • 标签详解
  • 什么是FTP主页申请断点续传?
  • Java 与 C 性能比较的一些经验数据
  • UNIX(AIX)系统常用命令
  • 结合实例讲解广域网路由基本技术
  • Retrieve时不清除原有Datawindow数据
  • DirectSound学习笔记(7):缓冲区操作
  • 逻辑设计的例子
  • 延续经典神话 IBM ThinkPad T43评鉴
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.