mirror of
https://github.com/vim/vim.git
synced 2025-07-26 11:04:33 -04:00
patch 7.4.1766
Problem: Building instructions for MS-Windows are outdated. Solution: Mention setting SDK_INCLUDE_DIR. (Ben Franklin, closes #771) Move outdated instructions further down.
This commit is contained in:
parent
4694a17d1e
commit
02cfac85b4
@ -11,9 +11,9 @@ The file "feature.h" can be edited to match your preferences. You can skip
|
||||
this, then you will get the default behavior as is documented, which should
|
||||
be fine for most people.
|
||||
|
||||
With the exception of two sections (Windows 3.1 and MS-DOS), this document
|
||||
assumes that you are building Vim for Win32 or later.
|
||||
(Windows 95/98/Me/NT/2000/XP/2003/Vista/7/8/10)
|
||||
This document assumes that you are building Vim for Win32 or later (Windows
|
||||
XP/2003/Vista/7/8/10). There are also instructions for pre-XP systems, but
|
||||
they might no longer work.
|
||||
|
||||
|
||||
Contents:
|
||||
@ -36,9 +36,7 @@ Contents:
|
||||
|
||||
|
||||
The currently preferred method is using the free Visual C++ Toolkit 2008
|
||||
|msvc-2008-express|, the produced binary runs on most MS-Windows systems. If
|
||||
you need the executable to run on Windows 98 or ME, use the 2003 one
|
||||
|msvc-2003-toolkit|.
|
||||
|msvc-2008-express|, the produced binary runs on most MS-Windows systems.
|
||||
|
||||
|
||||
1. Microsoft Visual C++
|
||||
@ -87,6 +85,69 @@ These files have been supplied by George V. Reilly, Ben Singer, Ken Scott and
|
||||
Ron Aaron; they have been tested.
|
||||
|
||||
|
||||
Visual C++ 2008 Express Edition *msvc-2008-express*
|
||||
-------------------------------
|
||||
|
||||
Visual C++ 2008 Express Edition can be downloaded for free from:
|
||||
http://www.microsoft.com/express/downloads/
|
||||
This includes the IDE and the debugger.
|
||||
|
||||
To set the environment execute the msvc2008.bat script. You can then build
|
||||
Vim with Make_mvc.mak.
|
||||
|
||||
For building 64 bit binaries you also need to install the SDK:
|
||||
"Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1"
|
||||
You don't need the examples and documentation.
|
||||
|
||||
If you get an error that Win32.mak can't be found, you have to set the
|
||||
variable SDK_INCLUDE_DIR. For example, on Windows 10, installation of MSVC
|
||||
puts include files in the following directory:
|
||||
set SDK_INCLUDE_DIR=C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include
|
||||
|
||||
|
||||
Visual C++ 2010 Express Edition *msvc-2010-express*
|
||||
-------------------------------
|
||||
|
||||
Visual C++ 2010 Express Edition can be downloaded for free from:
|
||||
http://www.microsoft.com/express/vc/Default.aspx
|
||||
This includes the IDE and the debugger.
|
||||
|
||||
To set the environment execute the msvc2010.bat script. You can then build
|
||||
Vim with Make_mvc.mak.
|
||||
|
||||
|
||||
Targeting Windows XP with new MSVC *new-msvc-windows-xp*
|
||||
----------------------------------
|
||||
|
||||
Beginning with Visual C++ 2012, Microsoft changed the behavior of LINK.EXE
|
||||
so that it targets Windows 6.0 (Vista) by default. In order to override
|
||||
this, the target Windows version number needs to be passed to LINK like
|
||||
follows:
|
||||
LINK ... /subsystem:console,5.01
|
||||
|
||||
Make_mvc.mak now supports a macro SUBSYSTEM_VER to pass the Windows version.
|
||||
Use lines like follows to target Windows XP (assuming using Visual C++ 2012
|
||||
under 64-bit Windows):
|
||||
set WinSdk71=%ProgramFiles(x86)%\Microsoft SDKs\Windows\v7.1A
|
||||
set SDK_INCLUDE_DIR=%WinSdk71%\Include
|
||||
set INCLUDE=%WinSdk71%\Include;%INCLUDE%
|
||||
set LIB=%WinSdk71%\Lib;%LIB%
|
||||
set PATH=%WinSdk71%\Bin;%PATH%
|
||||
set CL=/D_USING_V110_SDK71_
|
||||
nmake -f Make_mvc.mak ... WINVER=0x0501 SUBSYSTEM_VER=5.01
|
||||
|
||||
The following Visual C++ team blog can serve as a reference page:
|
||||
http://blogs.msdn.com/b/vcblog/archive/2012/10/08/windows-xp-targeting-with-c-in-visual-studio-2012.aspx
|
||||
|
||||
|
||||
OLDER VERSIONS
|
||||
|
||||
The minimal supported version is Windows XP. Building with older compilers
|
||||
might still work, but these instructions might be outdated.
|
||||
|
||||
If you need the executable to run on Windows 98 or ME, use the 2003 one
|
||||
|msvc-2003-toolkit|.
|
||||
|
||||
Visual C++ Toolkit 2003 *msvc-2003-toolkit*
|
||||
-----------------------
|
||||
|
||||
@ -172,55 +233,6 @@ Instructions for integrating the Platform SDK into VC Express:
|
||||
http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/default.aspx
|
||||
|
||||
|
||||
Visual C++ 2008 Express Edition *msvc-2008-express*
|
||||
-------------------------------
|
||||
|
||||
Visual C++ 2008 Express Edition can be downloaded for free from:
|
||||
http://www.microsoft.com/express/downloads/
|
||||
This includes the IDE and the debugger.
|
||||
|
||||
To set the environment execute the msvc2008.bat script. You can then build
|
||||
Vim with Make_mvc.mak.
|
||||
|
||||
For building 64 bit binaries you also need to install the SDK:
|
||||
"Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1"
|
||||
You don't need the examples and documentation.
|
||||
|
||||
|
||||
Visual C++ 2010 Express Edition *msvc-2010-express*
|
||||
-------------------------------
|
||||
|
||||
Visual C++ 2010 Express Edition can be downloaded for free from:
|
||||
http://www.microsoft.com/express/vc/Default.aspx
|
||||
This includes the IDE and the debugger.
|
||||
|
||||
To set the environment execute the msvc2010.bat script. You can then build
|
||||
Vim with Make_mvc.mak.
|
||||
|
||||
|
||||
Targeting Windows XP with new MSVC *new-msvc-windows-xp*
|
||||
----------------------------------
|
||||
|
||||
Beginning with Visual C++ 2012, Microsoft changed the behavior of LINK.EXE
|
||||
so that it targets Windows 6.0 (Vista) by default. In order to override
|
||||
this, the target Windows version number needs to be passed to LINK like
|
||||
follows:
|
||||
LINK ... /subsystem:console,5.01
|
||||
|
||||
Make_mvc.mak now supports a macro SUBSYSTEM_VER to pass the Windows version.
|
||||
Use lines like follows to target Windows XP (assuming using Visual C++ 2012
|
||||
under 64-bit Windows):
|
||||
set WinSdk71=%ProgramFiles(x86)%\Microsoft SDKs\Windows\v7.1A
|
||||
set SDK_INCLUDE_DIR=%WinSdk71%\Include
|
||||
set INCLUDE=%WinSdk71%\Include;%INCLUDE%
|
||||
set LIB=%WinSdk71%\Lib;%LIB%
|
||||
set PATH=%WinSdk71%\Bin;%PATH%
|
||||
set CL=/D_USING_V110_SDK71_
|
||||
nmake -f Make_mvc.mak ... WINVER=0x0501 SUBSYSTEM_VER=5.01
|
||||
|
||||
The following Visual C++ team blog can serve as a reference page:
|
||||
http://blogs.msdn.com/b/vcblog/archive/2012/10/08/windows-xp-targeting-with-c-in-visual-studio-2012.aspx
|
||||
|
||||
|
||||
2. MinGW
|
||||
========
|
||||
@ -253,10 +265,14 @@ System, Advanced, and edit the environment from there. If you use msys2
|
||||
compilers, set your installed paths:
|
||||
|
||||
C:\msys2\mingw32\bin
|
||||
or
|
||||
C:\msys64\mingw32\bin
|
||||
|
||||
for 32bit. And 64bit:
|
||||
|
||||
C:\msys2\mingw64\bin
|
||||
or
|
||||
C:\msys64\mingw64\bin
|
||||
|
||||
Test if gcc is on your path. From a CMD (or COMMAND on '95/98) window:
|
||||
|
||||
@ -605,7 +621,7 @@ A) Using MSVC
|
||||
If you want to link with ruby, normally you must use the same compiler as
|
||||
which was used to build the ruby binary. RubyInstaller is built with MinGW,
|
||||
so normally you cannot use MSVC for building Vim if you want to link with
|
||||
RubyInstaller. If you use a different complier, there are mainly two problems:
|
||||
RubyInstaller. If you use a different compiler, there are mainly two problems:
|
||||
config.h and Ruby's DLL name. Here are the steps for working around them:
|
||||
|
||||
1) Download and Install RubyInstaller.
|
||||
@ -639,9 +655,10 @@ config.h and Ruby's DLL name. Here are the steps for working around them:
|
||||
nmake -f Make_mvc.mak
|
||||
RUBY=C:\Ruby22 DYNAMIC_RUBY=yes RUBY_VER=22 RUBY_VER_LONG=2.2.0
|
||||
RUBY_MSVCRT_NAME=msvcrt
|
||||
WINVER=0x500
|
||||
WINVER=0x501
|
||||
|
||||
WINVER must be set to >=0x500, when building with Ruby 2.1 or later.
|
||||
If you set WINVER explicitly, it must be set to >=0x500, when building
|
||||
with Ruby 2.1 or later. (Default is 0x501.)
|
||||
When using this trick, you also need to set RUBY_MSVCRT_NAME to msvcrt
|
||||
which is used for the Ruby's DLL name.
|
||||
|
||||
@ -652,9 +669,11 @@ After you install RubyInstaller, just type this (as one line):
|
||||
|
||||
mingw32-make -f Make_ming.mak
|
||||
RUBY=C:/Ruby22 DYNAMIC_RUBY=yes RUBY_VER=22 RUBY_VER_LONG=2.2.0
|
||||
WINVER=0x500
|
||||
WINVER=0x501
|
||||
|
||||
If you set WINVER explicitly, it must be set to >=0x500, when building with
|
||||
Ruby 2.1 or later. (Default is 0x501.)
|
||||
|
||||
WINVER must be set to >=0x500, when building with Ruby 2.1 or later.
|
||||
|
||||
|
||||
12. Building with Tcl support
|
||||
|
@ -748,6 +748,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
1766,
|
||||
/**/
|
||||
1765,
|
||||
/**/
|
||||
|
Loading…
x
Reference in New Issue
Block a user