- 所用的代码为2006年7月26日用TortiseSVN从官方网站站上下载;
- 编译环境完全按照李世平老师所讲的;
- 将build/win32目录下的所有文件(共8个文件)用写字板打开后按照原文件名保存;
- 用写字板将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)
通过以上方法就可直接在官方网站下载代码自己编译了。如果大家在编译过程中有什么问题或学习经验,请贴出来共同分享。