利用者:Juicyfruit/Windows Library Building
PREREQUESTS
building blender on windows 7 x64 (MSVC2012/MSVC2013):
git - > http://msysgit.github.io/ (add git to path for building later)
perl -> http://www.perl.org/get.html for compiling python / openssl (get x64 version )
subversion -> http://sourceforge.net/projects/tortoisesvn ( add command line tools)
Visual Studio 2012 or 2013
Library | Version | Binary URL | Homepage |
---|---|---|---|
gettext | |||
boost | |||
ffmpeg | |||
fftw3 | |||
freetype | 2.5.2 | http://martijnberger.nl/file/freetype_win64_vc12.7z | http://www.freetype.org/index.html |
iconv | |||
jpeg | |||
lapack | |||
lcms | |||
llvm | |||
openal | |||
opencollada | |||
opencolorio | |||
openexr / ilmbase | 2.1.0 | http://martijnberger.nl/file/openexr_win64_vc12.7z | http://openexr.com/ |
openimageio | 1.3.9 | n/a | https://github.com/OpenImageIO/oiio |
osl | |||
png | |||
pthreads | |||
python | 3.3.3 | http://martijnberger.nl/file/python_win64_vc11.7z http://martijnberger.nl/file/python_win64_vc12.7z | http://www.python.org/ |
samplerate | |||
sdl | |||
sndfile | |||
thumbhandler | |||
tiff | |||
wintab | |||
zlib | 1.2.8 | 1.2.8 | http://www.zlib.net/ |
Python
I follow this guide roughly: http://wiki.python.org/moin/VS2012
I extract python to C:\dev\python\python-3.3.3
run: Tools\buildbot\external-common.bat
edit Tools\buildbot\external-amd64.bat and add at the bottom:
if not exist tcltk64\bin\tcl85.dll ( cd tcl-8.5.11.0\win nmake -f makefile.vc COMPILERFLAGS=-DWINVER=0x0500 DEBUG=0 MACHINE=AMD64 INSTALLDIR=..\..\tcltk64 clean all nmake -f makefile.vc COMPILERFLAGS=-DWINVER=0x0500 DEBUG=0 MACHINE=AMD64 INSTALLDIR=..\..\tcltk64 install cd ..\.. ) if not exist tcltk64\bin\tk85.dll ( cd tk-8.5.11.0\win nmake -f makefile.vc COMPILERFLAGS=-DWINVER=0x0500 OPTS=noxp DEBUG=0 MACHINE=AMD64 INSTALLDIR=..\..\tcltk64 TCLDIR=..\..\tcl-8.5.11.0 clean nmake -f makefile.vc COMPILERFLAGS=-DWINVER=0x0500 OPTS=noxp DEBUG=0 MACHINE=AMD64 INSTALLDIR=..\..\tcltk64 TCLDIR=..\..\tcl-8.5.11.0 all nmake -f makefile.vc COMPILERFLAGS=-DWINVER=0x0500 OPTS=noxp DEBUG=0 MACHINE=AMD64 INSTALLDIR=..\..\tcltk64 TCLDIR=..\..\tcl-8.5.11.0 install cd ..\.. )
run: Tools\buildbot\external-amd64.bat
compile ssl
move *.lib from out32dll to out64 (need to check why)
change python-3.3.3\PCBuild\_msi.vcxproj:
replace all fci.lib with cabinet.lib (fci.lib is not available anymore, upstream python also done this fix)
change PC\pyconfig.h
#ifdef _MSVC < 1600 #define hypot _hypot #endif
open PCBuild\PCbuild.sln with visual studio 2013/2012 and convert solution. then build
pthreads
patch
diff -ur a/pthreads.2/Makefile b/pthreads.2/Makefile --- pthreads.2/Makefile Sun May 27 14:18:10 2012 +++ lib/win64/pthreads/pthreads.2/Makefile Wed Dec 11 21:07:05 2013 @@ -26,7 +26,7 @@ CC = cl CPPFLAGS = /I. /DHAVE_PTW32_CONFIG_H -XCFLAGS = /W3 /MD /nologo +XCFLAGS = /W3 /MT /nologo CFLAGS = /O2 /Ob2 $(XCFLAGS) CFLAGSD = /Z7 $(XCFLAGS) @@ -476,10 +476,10 @@ copy semaphore.h $(HDRDEST) $(DLLS): $(DLL_OBJS) - $(CC) /LDd /Zi /nologo $(DLL_OBJS) /link /implib:$*.lib $(XLIBS) /out:$@ + $(CC) /LDd /Zi /nologo /NODEFAULTLIB:msvcr $(DLL_OBJS) /link /implib:$*.lib $(XLIBS) /out:$@ $(INLINED_STAMPS): $(DLL_INLINED_OBJS) - $(CC) /LDd /Zi /nologo $(DLL_INLINED_OBJS) /link /implib:$*.lib $(XLIBS) /out:$*.dll + $(CC) /LDd /Zi /nologo /NODEFAULTLIB:msvcr $(DLL_INLINED_OBJS) /link /implib:$*.lib $(XLIBS) /out:$*.dll $(STATIC_STAMPS): $(DLL_INLINED_OBJS) if exist $*.lib del $*.lib
nmake VC
freetype
@Echo off cd freetype-2.5.2 set LIBDIR=%CD%\..\.. :: create build directory mkdir build\windows cd build\windows cmake -G "NMake Makefiles" ..\..\ ^ -DCMAKE_INSTALL_PREFIX=%LIBDIR%\freetype ^ -DCMAKE_CXX_FLAGS_DEBUG="/D_DEBUG /MTd /Zi /Ob0 /Od /RTC1" ^ -DCMAKE_CXX_FLAGS_MINSIZEREL="/MT /O1 /Ob1 /D NDEBUG" ^ -DCMAKE_CXX_FLAGS_RELEASE="/MT /O2 /Ob2 /D NDEBUG" ^ -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="/MT /Zi /O2 /Ob1 /D NDEBUG" ^ -DCMAKE_RELEASE_POSTFIX:STRING="2ST" ^ -DCMAKE_DEBUG_POSTFIX:STRING="2ST_d" ^ -DCMAKE_BUILD_TYPE=Release nmake nmake install cd ..\.. :: create build directory mkdir build\windows_debug cd build\windows_debug cmake -G "NMake Makefiles" ..\..\ ^ -DCMAKE_INSTALL_PREFIX=%LIBDIR%\freetype ^ -DCMAKE_CXX_FLAGS_DEBUG="/D_DEBUG /MTd /Zi /Ob0 /Od /RTC1" ^ -DCMAKE_CXX_FLAGS_MINSIZEREL="/MT /O1 /Ob1 /D NDEBUG" ^ -DCMAKE_CXX_FLAGS_RELEASE="/MT /O2 /Ob2 /D NDEBUG" ^ -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="/MT /Zi /O2 /Ob1 /D NDEBUG" ^ -DCMAKE_RELEASE_POSTFIX:STRING="2ST" ^ -DCMAKE_DEBUG_POSTFIX:STRING="2ST_d" ^ -DCMAKE_BUILD_TYPE=Debug nmake nmake install
jpeg
NOT a C++ lib
run nmake -f makefile.vc setup-v10 then set machine type to x64, release optimization to O2 and /MT
png
NOT a C++ lib copied from previous version
tiff
NOT a C++ lib copied from previous version