[x264-devel] Compiling x264 with Visual Studio 2010 and Intel compiler

Kovacs Peter p.kovacs at holografika.com
Tue Sep 16 10:21:45 CEST 2014


Hi All,

maybe somebody else will also find this useful, so let me share my 
experience with compiling x264 with Visual Studio 2010 SP1 and Intel(R) 
C++ Compiler XE 15.0.
I have used the latest stable tarball (x264-snapshot-20140915-2245-stable).
-create a new Win32 console application, create an empty project
-create appropriate filters under Source files and Header files to 
retain structure: common, encoder, extras, filters, filters/video, 
input, output
-add .c and .h files from these directories to the project (including 
those not located in subdirs), except:
     common/opencl.c, common/opencl.h, encoder/rdo.c, 
encoder/slicetype.c, input/ffms.c, input/lavf.c, output/mp4.c, 
output/mp4_lsmash.c
-right click the project file, and choose to use Intel C++ compiler
-in project properties, under C/C+ / Language [Intel C++] / Enable C99 
support, choose Yes for All Configurations
-in project properties, under C/C+ / Output Files, change Object File 
Name to "$(IntDir)/%(RelativeDir)/", for All Configurations (to get rid 
of these link errors 
http://stackoverflow.com/questions/3695174/visual-studio-2010s-strange-warning-lnk4042)
-in project properties, under C/C+ / General, add "extras" and "." into 
Additional Include Directories, for All Configurations
-in project properties, under C/C+ / Preprocessor, add "HAVE_CONFIG_H" 
into Preprocessor definitions, for All Configurations
-create x264_config.h and config.h with the attached contents, and add 
them to the project
-compile!

This will result in an x264 binary that does not use asm functions, 
OpenCL, or any other acceleration, nor will support many input/output 
formats, but can be used for experimentation, studying the code via 
single stepping, and implement experiments (for the impatient).
The patches from Steve Borho for VC12 were much appreciated - this small 
guide is for those who are still using VS2010.

Project files are attached for reference. Hope somebody will find this 
useful.

Peter


-------------- next part --------------
#define SYS_WINDOWS 1
#define HAVE_WIN32THREAD 1
#define HAVE_THREAD 1
#define USE_AVXSYNTH 0
#define HAVE_VECTOREXT 0
#define HAVE_INTERLACED 1
#define HAVE_OPENCL 0
#define HAVE_MALLOC_H 0
#define HAVE_ALTIVEC 0
#define HAVE_ALTIVEC_H 0
#define HAVE_ARMV6 0
#define HAVE_ARMV6T2 0
#define HAVE_NEON 0
#define HAVE_BEOSTHREAD 0
#define HAVE_POSIXTHREAD 0
#define HAVE_SWSCALE 0
#define HAVE_LAVF 0
#define HAVE_FFMS 0
#define HAVE_GPAC 0
#define HAVE_CPU_COUNT 0
#define HAVE_THP 0
#define HAVE_LSMASH 0
#define HAVE_STRING_H 1
#define HAVE_GPL 1

-------------- next part --------------
#define X264_BIT_DEPTH 8
#define X264_GPL 1
#define X264_INTERLACED 1
#define X264_CHROMA_FORMAT 0
#define X264_VERSION "x264-snapshot-20140915-2245-stable"
#define X264_POINTVER ""
-------------- next part --------------
A non-text attachment was scrubbed...
Name: x264_vs2010.vcxproj.filters
Type: application/xml
Size: 12613 bytes
Desc: not available
URL: <http://mailman.videolan.org/pipermail/x264-devel/attachments/20140916/c5113fed/attachment-0002.wsdl>
-------------- next part --------------
?
Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "x264_vs2010", "x264_vs2010.vcxproj", "{389AD08D-E4A8-4EFF-A2D7-5BEA57E63A7D}"
EndProject
Global
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
		Debug|Win32 = Debug|Win32
		Release|Win32 = Release|Win32
	EndGlobalSection
	GlobalSection(ProjectConfigurationPlatforms) = postSolution
		{389AD08D-E4A8-4EFF-A2D7-5BEA57E63A7D}.Debug|Win32.ActiveCfg = Debug|Win32
		{389AD08D-E4A8-4EFF-A2D7-5BEA57E63A7D}.Debug|Win32.Build.0 = Debug|Win32
		{389AD08D-E4A8-4EFF-A2D7-5BEA57E63A7D}.Release|Win32.ActiveCfg = Release|Win32
		{389AD08D-E4A8-4EFF-A2D7-5BEA57E63A7D}.Release|Win32.Build.0 = Release|Win32
	EndGlobalSection
	GlobalSection(SolutionProperties) = preSolution
		HideSolutionNode = FALSE
	EndGlobalSection
EndGlobal
-------------- next part --------------
A non-text attachment was scrubbed...
Name: x264_vs2010.vcxproj
Type: application/xml
Size: 8704 bytes
Desc: not available
URL: <http://mailman.videolan.org/pipermail/x264-devel/attachments/20140916/c5113fed/attachment-0003.wsdl>


More information about the x264-devel mailing list