@@ -43,16 +43,20 @@ The currently preferred method is using the free Visual C++ Toolkit 2008
43431. Microsoft Visual C++
4444=======================
4545
46+ We do not provide download links, since Microsoft keeps changing them. You
47+ can search for "Visual C++ 2015 build tools", for example. You will need to
48+ create a Microsoft account (it's free).
49+
50+
4651Visual Studio
4752-------------
4853
4954Building with Visual Studio (VS 98, VS .NET, VS .NET 2003, VS 2005, VS 2008,
5055VS2010, VS2012, VS2013 and VS2015) is straightforward. (These instructions
5156should also work for VS 4 and VS 5.)
5257
53- Using VS C++ 2008 Express is recommended, the binaries built with that run on
54- nearly all platforms. Binaries from later versions may not run on Windows 95
55- or XP.
58+ Using VS C++ 2008 Express is recommended if you need the binary to run on
59+ Windows 95 or 97, see |msvc-2008-express| below.
5660
5761To build Vim from the command line with MSVC, use Make_mvc.mak.
5862Visual Studio installed a batch file called vcvars32.bat, which you must
@@ -117,8 +121,8 @@ To set the environment execute the msvc2010.bat script. You can then build
117121Vim with Make_mvc.mak.
118122
119123
120- Targeting Windows XP with new MSVC *new-msvc-windows-xp*
121- ----------------------------------
124+ Targeting Windows XP with MSVC 2012 and later *new-msvc-windows-xp*
125+ ---------------------------------------------
122126
123127Beginning with Visual C++ 2012, Microsoft changed the behavior of LINK.EXE
124128so that it targets Windows 6.0 (Vista) by default. In order to override
@@ -127,16 +131,28 @@ follows:
127131 LINK ... /subsystem:console,5.01
128132
129133Make_mvc.mak now supports a macro SUBSYSTEM_VER to pass the Windows version.
130- Use lines like follows to target Windows XP (assuming using Visual C++ 2012
131- under 64-bit Windows):
134+ Use lines like follows to target Windows XP x86 (assuming using Visual C++
135+ 2012 under 64-bit Windows):
132136 set WinSdk71=%ProgramFiles(x86)%\Microsoft SDKs\Windows\v7.1A
133- set SDK_INCLUDE_DIR=%WinSdk71%\Include
134137 set INCLUDE=%WinSdk71%\Include;%INCLUDE%
135138 set LIB=%WinSdk71%\Lib;%LIB%
136- set PATH=%WinSdk71%\Bin;%PATH%
137139 set CL=/D_USING_V110_SDK71_
138140 nmake -f Make_mvc.mak ... WINVER=0x0501 SUBSYSTEM_VER=5.01
139141
142+ To target Windows XP x64 instead of x86, you need to change the settings of
143+ LIB and SUBSYSTEM_VER:
144+ ...
145+ set LIB=%WinSdk71%\Lib\x64;%LIB%
146+ ...
147+ nmake -f Make_mvc.mak ... WINVER=0x0501 SUBSYSTEM_VER=5.02
148+
149+ If you use Visual C++ 2015 (either Express or Community Edition), executing
150+ msvc2015.bat will set them automatically. For x86 builds run this without
151+ options:
152+ msvc2015
153+ For x64 builds run this with the "x86_amd64" option:
154+ msvc2015 x86_amd64
155+
140156The following Visual C++ team blog can serve as a reference page:
141157 http://blogs.msdn.com/b/vcblog/archive/2012/10/08/windows-xp-targeting-with-c-in-visual-studio-2012.aspx
142158
@@ -482,14 +498,24 @@ You need to set the following variables:
482498 E.g. C:\Program Files (x86)\Racket
483499 DYNAMIC_MZSCHEME: Whether dynamic linking is used. Usually, set to yes.
484500 MZSCHEME_VER: Racket DLL version which is used for the file name.
485- E.g. 3m_9z0ds0 for Racket 6.3 .
501+ See below for a list of MZSCHEME_VER .
486502 The DLL can be found under the lib directory. E.g.
487503 C:\Program Files (x86)\Racket\lib\libracket3m_XXXXXX.dll
488504 MZSCHEME_COLLECTS: (Optional) Path of the collects directory used at
489505 runtime. Default: $(MZSCHEME)\collects
490506 User can override this with the PLTCOLLECTS environment
491507 variable.
492508
509+ List of MZSCHEME_VER (incomplete):
510+
511+ Racket ver. | MZSCHEME_VER
512+ ==========================
513+ 6.3 | 3m_9z0ds0
514+ 6.6 | 3m_a0solc
515+ 6.8 | 3m_a1zjsw
516+ 6.10 | 3m_a36fs8
517+
518+
493519E.g. When using MSVC (as one line):
494520
495521 nmake -f Make_mvc.mak
0 commit comments