为什么我不能用Visual Studio 2015 RC命令行工具构建Vim?

为什么我不能用Visual Studio 2015 RC命令行工具构建Vim?,c,windows,visual-studio,vim,visual-studio-2015,C,Windows,Visual Studio,Vim,Visual Studio 2015,昨天,我安装了。作为第一个测试,我尝试从源代码构建GVim 我使用“C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Visual Studio 2015\Visual Studio Tools\Windows桌面命令提示符\VS2015 x64 Native Tools命令提示符.lnk”,设置打开了一个命令窗口 set include=%include%;C:\Program Files (x86)\Microsoft SDKs\Win

昨天,我安装了。作为第一个测试,我尝试从源代码构建GVim

我使用
“C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Visual Studio 2015\Visual Studio Tools\Windows桌面命令提示符\VS2015 x64 Native Tools命令提示符.lnk”
,设置打开了一个命令窗口

set include=%include%;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include
因此,选择
Win32.mak
文件。此外,我设定:

set MSVCVER=12.0
因为此时未检测到新的Visual Studio版本

在此之后,我有:

Framework40Version=v4.0 FrameworkDir=C:\Windows\Microsoft.NET\Framework64 FrameworkDIR64=C:\Windows\Microsoft.NET\Framework64 FrameworkVersion=v4.0.30319 FrameworkVersion64=v4.0.30319 FSHARPINSTALLDIR=C:\Program Files (x86)\Microsoft SDKs\F#\4.0\Framework\v4.0\ INCLUDE=C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE;C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\INCLUDE;C:\Program Files (x86)\Windows Kits\10\\include\10.0.10056.0\ucrt;C:\Program Files (x86)\Windows Kits\8.1\include\shared;C:\Program Files (x86)\Windows Kits\8.1\include\um;C:\Program Files (x86)\Windows Kits\8.1\include\winrt;;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include LIB=C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\LIB\amd64;C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\LIB\amd64;C:\Program Files (x86)\Windows Kits\10\\lib\10.0.10056.0\ucrt\x64;C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x64; LIBPATH=C:\Windows\Microsoft.NET\Framework64\v4.0.30319;C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\LIB\amd64;C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\LIB\amd64;C:\Program Files (x86)\Windows Kits\8.1\References\CommonConfiguration\Neutral;\Microsoft.VCLibs\14.0\References\CommonConfiguration\neutral; MSVCVER=12.0 Platform=X64 PROCESSOR_ARCHITECTURE=AMD64 UniversalCRTSdkDir=C:\Program Files (x86)\Windows Kits\10\ VCINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ VisualStudioVersion=14.0 VS100COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\Tools\ VS110COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Tools\ VS120COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools\ VS140COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\ VSINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio 14.0\ windir=C:\Windows WindowsSdkDir=C:\Program Files (x86)\Windows Kits\8.1\ WindowsSDK_ExecutablePath_x64=C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools\x64\ WindowsSDK_ExecutablePath_x86=C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools\ Framework40Version=v4.0 FrameworkDir=C:\Windows\Microsoft.NET\Framework64 FrameworkDIR64=C:\Windows\Microsoft.NET\Framework64 FrameworkVersion=v4.0.30319 FrameworkVersion64=v4.0.30319 FSHARPINSTALLDIR=C:\ProgramFiles(x86)\Microsoft SDK\F\4.0\Framework\v4.0\ INCLUDE=C:\ProgramFiles(x86)\Microsoft Visual Studio 14.0\VC\INCLUDE;C:\ProgramFiles(x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\INCLUDE;C:\ProgramFiles(x86)\Windows工具包\10\\include\10.0.10056.0\ucrt;C:\ProgramFiles(x86)\Windows Kits\8.1\include\shared;C:\ProgramFiles(x86)\Windows Kits\8.1\include\um;C:\ProgramFiles(x86)\Windows工具包\8.1\include\winrt;;C:\ProgramFiles(x86)\Microsoft SDK\Windows\v7.1A\Include LIB=C:\ProgramFiles(x86)\Microsoft Visual Studio 14.0\VC\LIB\amd64;C:\ProgramFiles(x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\LIB\amd64;C:\ProgramFiles(x86)\Windows Kits\10\\lib\10.0.10056.0\ucrt\x64;C:\ProgramFiles(x86)\Windows Kits\8.1\lib\winv6.3\um\x64; LIBPATH=C:\Windows\Microsoft.NET\Framework64\v4.0.30319;C:\ProgramFiles(x86)\Microsoft Visual Studio 14.0\VC\LIB\amd64;C:\ProgramFiles(x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\LIB\amd64;C:\ProgramFiles(x86)\Windows Kits\8.1\References\CommonConfiguration\Neutral\Microsoft.VCLibs\14.0\References\CommonConfiguration\neutral; MSVCVER=12.0 平台=X64 处理器体系结构=AMD64 UniversalCRTSdkDir=C:\ProgramFiles(x86)\Windows工具包\10\ VCINSTALLDIR=C:\ProgramFiles(x86)\Microsoft Visual Studio 14.0\VC\ VisualStudioVersion=14.0 VS100COMNTOOLS=C:\ProgramFiles(x86)\Microsoft Visual Studio 10.0\Common7\Tools\ VS110COMNTOOLS=C:\ProgramFiles(x86)\Microsoft Visual Studio 11.0\Common7\Tools\ VS120COMNTOOLS=C:\ProgramFiles(x86)\Microsoft Visual Studio 12.0\Common7\Tools\ VS140COMNTOOLS=C:\ProgramFiles(x86)\Microsoft Visual Studio 14.0\Common7\Tools\ VSINSTALLDIR=C:\ProgramFiles(x86)\Microsoft Visual Studio 14.0\ windir=C:\Windows WindowsSdkDir=C:\ProgramFiles(x86)\Windows工具包\8.1\ WindowsSDK\u ExecutablePath\u x64=C:\Program Files(x86)\Microsoft SDK\Windows\v8.1A\bin\NETFX 4.5.1 Tools\x64\ WindowsSDK\u ExecutablePath\u x86=C:\Program Files(x86)\Microsoft SDK\Windows\v8.1A\bin\NETFX 4.5.1工具\ 我能够构建一个简单的程序:

C:\...\Temp> type t.c #include int main(void) { printf("Hello %s\n", "Stackoverflow.com"); return 0; } C:\...\Temp> cl t.c Microsoft (R) C/C++ Optimizing Compiler Version 19.00.22816 for x64 Copyright (C) Microsoft Corporation. All rights reserved. t.c Microsoft (R) Incremental Linker Version 14.00.22816.0 Copyright (C) Microsoft Corporation. All rights reserved. /out:t.exe t.obj C:\...\Temp> t.exe Hello Stackoverflow.com C:\…\Temp>类型t.C #包括 int main(void){ printf(“你好%s\n”,“Stackoverflow.com”); 返回0; } C:\…\Temp>cl t.C 针对x64的Microsoft(R)C/C++优化编译器版本19.00.22816 版权所有(C)微软公司。版权所有。 t、 c Microsoft(R)增量链接器版本14.00.22816.0 版权所有(C)微软公司。版权所有。 /输出:t.exe t、 obj C:\…\Temp>t.exe 你好,Stackoverflow.com 但是,当我发出命令来构建我的GVim(可以与Visual Studio 2013 CE工具配合使用)时,编译工作正常,但我得到以下链接错误:

C:\...\vim\src> nmake -f Make_mvc.mak CPU=AMD64 OPTIMIZE=SPACE GETTEXT=no NETBEANS=no CSCOPE=no DIRECTX=yes GUI=yes C:\…\vim\src>nmake-f Make\u mvc.mak CPU=AMD64 OPTIMIZE=SPACE GETTEXT=no NETBEANS=no CSCOPE=no DIRECTX=yes GUI=yes 我截取了大部分错误消息,因为其中有很多错误消息:

gui_dwrite.obj : error LNK2001: unresolved external symbol memcmp blowfish.obj : error LNK2001: unresolved external symbol memcmp crypt.obj : error LNK2001: unresolved external symbol memcmp sha256.obj : error LNK2001: unresolved external symbol memcmp undo.obj : error LNK2001: unresolved external symbol memcmp blowfish.obj : error LNK2019: unresolved external symbol memcpy referenced in function bf_e_cblock winclip.obj : error LNK2001: unresolved external symbol memcpy screen.obj : error LNK2001: unresolved external symbol memcpy sha256.obj : error LNK2001: unresolved external symbol memcpy gui.obj : error LNK2001: unresolved external symbol memmove gui_w32.obj : error LNK2001: unresolved external symbol memmove tag.obj : error LNK2001: unresolved external symbol memmove term.obj : error LNK2001: unresolved external symbol memmove ui.obj : error LNK2001: unresolved external symbol memmove undo.obj : error LNK2001: unresolved external symbol memmove screen.obj : error LNK2001: unresolved external symbol memmove search.obj : error LNK2001: unresolved external symbol memmove spell.obj : error LNK2001: unresolved external symbol memmove syntax.obj : error LNK2001: unresolved external symbol memmove os_mswin.obj : error LNK2001: unresolved external symbol memmove os_win32.obj : error LNK2001: unresolved external symbol memmove quickfix.obj : error LNK2001: unresolved external symbol memmove regexp.obj : error LNK2001: unresolved external symbol memmove misc2.obj : error LNK2001: unresolved external symbol memmove normal.obj : error LNK2001: unresolved external symbol memmove ops.obj : error LNK2001: unresolved external symbol memmove option.obj : error LNK2001: unresolved external symbol memmove memline.obj : error LNK2001: unresolved external symbol memmove menu.obj : error LNK2001: unresolved external symbol memmove message.obj : error LNK2001: unresolved external symbol memmove misc1.obj : error LNK2001: unresolved external symbol memmove getchar.obj : error LNK2001: unresolved external symbol memmove hashtab.obj : error LNK2001: unresolved external symbol memmove mark.obj : error LNK2001: unresolved external symbol memmove ... misc2.obj : error LNK2001: unresolved external symbol fwrite spell.obj : error LNK2001: unresolved external symbol fwrite edit.obj : error LNK2019: unresolved external symbol isalnum referenced in function ins_ctrl_ey regexp.obj : error LNK2001: unresolved external symbol isalnum ui.obj : error LNK2001: unresolved external symbol strncpy gui_w32.obj : error LNK2001: unresolved external symbol strncpy libXpm.lib(parse.obj) : error LNK2001: unresolved external symbol strncpy libXpm.lib(data.obj) : error LNK2001: unresolved external symbol strncpy regexp.obj : error LNK2001: unresolved external symbol strncpy screen.obj : error LNK2001: unresolved external symbol strncpy ... main.obj : error LNK2001: unresolved external symbol close memfile.obj : error LNK2001: unresolved external symbol close libXpm.lib(parse.obj) : error LNK2001: unresolved external symbol free libXpm.lib(hashtab.obj) : error LNK2001: unresolved external symbol free libXpm.lib(data.obj) : error LNK2001: unresolved external symbol free libXpm.lib(misc.obj) : error LNK2001: unresolved external symbol free ... eval.obj : error LNK2001: unresolved external symbol free misc2.obj : error LNK2001: unresolved external symbol free os_win32.obj : error LNK2001: unresolved external symbol free gui_w32.obj : error LNK2001: unresolved external symbol free libcmt.lib(new_scalar.obj) : error LNK2001: unresolved external symbol malloc libXpm.lib(simx.obj) : error LNK2001: unresolved external symbol malloc eval.obj : error LNK2001: unresolved external symbol malloc misc2.obj : error LNK2001: unresolved external symbol malloc os_win32.obj : error LNK2001: unresolved external symbol malloc gui_w32.obj : error LNK2001: unresolved external symbol malloc normal.obj : error LNK2001: unresolved external symbol realloc regexp.obj : error LNK2001: unresolved external symbol realloc libXpm.lib(simx.obj) : error LNK2001: unresolved external symbol realloc eval.obj : error LNK2001: unresolved external symbol realloc memline.obj : error LNK2001: unresolved external symbol realloc misc1.obj : error LNK2001: unresolved external symbol realloc misc2.obj : error LNK2001: unresolved external symbol realloc ... ex_docmd.obj : error LNK2001: unresolved external symbol stricmp ops.obj : error LNK2001: unresolved external symbol __stdio_common_vfprintf option.obj : error LNK2001: unresolved external symbol __stdio_common_vfprintf search.obj : error LNK2001: unresolved external symbol __stdio_common_vfprintf spell.obj : error LNK2001: unresolved external symbol __stdio_common_vfprintf fold.obj : error LNK2001: unresolved external symbol __stdio_common_vfprintf getchar.obj : error LNK2001: unresolved external symbol __stdio_common_vfprintf main.obj : error LNK2001: unresolved external symbol __stdio_common_vfprintf mark.obj : error LNK2001: unresolved external symbol __stdio_common_vfprintf eval.obj : error LNK2001: unresolved external symbol __stdio_common_vfprintf ex_cmds.obj : error LNK2001: unresolved external symbol __stdio_common_vfprintf ex_docmd.obj : error LNK2001: unresolved external symbol __stdio_common_vfprintf ex_getln.obj : error LNK2001: unresolved external symbol __stdio_common_vfprintf window.obj : error LNK2001: unresolved external symbol __stdio_common_vsprintf gui.obj : error LNK2001: unresolved external symbol __stdio_common_vsprintf gui_w32.obj : error LNK2001: unresolved external symbol __stdio_common_vsprintf version.obj : error LNK2001: unresolved external symbol __stdio_common_vsprintf spell.obj : error LNK2001: unresolved external symbol __stdio_common_vsprintf syntax.obj : error LNK2001: unresolved external symbol __stdio_common_vsprintf tag.obj : error LNK2001: unresolved external symbol __stdio_common_vsprintf term.obj : error LNK2001: unresolved external symbol __stdio_common_vsprintf regexp.obj : error LNK2001: unresolved external symbol __stdio_common_vsprintf screen.obj : error LNK2001: unresolved external symbol __stdio_common_vsprintf search.obj : error LNK2001: unresolved external symbol __stdio_common_vsprintf sha256.obj : error LNK2001: unresolved external symbol __stdio_common_vsprintf ops.obj : error LNK2001: unresolved external symbol __stdio_common_vsprintf option.obj : error LNK2001: unresolved external symbol __stdio_common_vsprintf ... _crt_atexit referenced in function _onexit libcmt.lib(utility.obj) : error LNK2019: unresolved external symbol _crt_at_quick_exit referenced in function at_quick_exit libcmt.lib(utility.obj) : error LNK2019: unresolved external symbol _cexit referenced in function __scrt_dllmain_uninitialize_c libcmt.lib(exe_winmain.obj) : error LNK2001: unresolved external symbol _cexit libcmt.lib(new_scalar.obj) : error LNK2019: unresolved external symbol _callnewh referenced in function "void * __cdecl operator new(unsigned __int64)" (??2@YAPEAX_K@Z) libcmt.lib(exe_winmain.obj) : error LNK2019: unresolved external symbol _seh_filter_exe referenced in function "int `int __cdecl __scrt_common_main_seh(void)'::`1'::filt$0" (?filt$0@?0??__scrt_common_main_seh@@YAHXZ@4HA) libcmt.lib(exe_winmain.obj) : error LNK2019: unresolved external symbol _set_app_type referenced in function "int __cdecl pre_c_initialization(void)" (?pre_c_initialization@@YAHXZ) libcmt.lib(exe_winmain.obj) : error LNK2019: unresolved external symbol __setusermatherr referenced in function "int __cdecl pre_c_initialization(void)" (?pre_c_initialization@@YAHXZ) libcmt.lib(exe_winmain.obj) : error LNK2019: unresolved external symbol _configure_narrow_argv referenced in function "int __cdecl pre_c_initialization(void)" (?pre_c_initialization@@YAHXZ) libcmt.lib(exe_winmain.obj) : error LNK2019: unresolved external symbol _get_narrow_winmain_command_line referenced in function "int __cdecl __scrt_common_main_seh(void)" (?__scrt_common_main_seh@@YAHXZ) libcmt.lib(exe_winmain.obj) : error LNK2019: unresolved external symbol _initterm referenced in function "int __cdecl __scrt_common_main_seh(void)" (?__scrt_common_main_seh@@YAHXZ) ... libXpm.lib(rgb.obj) : error LNK2019: unresolved external symbol strdup referenced in function xpmGetRGBfromName oldnames.lib(strdup.obj) : error LNK2001: unresolved external symbol strdup oldnames.lib(strdup.obj) : error LNK2001: unresolved external symbol _strdup gvim.exe : fatal error LNK1120: 183 unresolved externals gui_dwrite.obj:错误LNK2001:未解析的外部符号memcmp blowfish.obj:错误LNK2001:未解析的外部符号memcmp crypt.obj:错误LNK2001:未解析的外部符号memcmp sha256.obj:错误LNK2001:未解析的外部符号memcmp undo.obj:错误LNK2001:未解析的外部符号memcmp blowfish.obj:错误LNK2019:函数bf_e_cblock中引用的未解析外部符号memcpy winclip.obj:错误LNK2001:未解析的外部符号memcpy screen.obj:错误LNK2001:未解析的外部符号memcpy sha256.obj:错误LNK2001:未解析的外部符号memcpy gui.obj:错误LNK2001:未解析的外部符号memmove gui_w32.obj:错误LNK2001:未解析的外部符号memmove tag.obj:错误LNK2001:未解析的外部符号memmove term.obj:错误LNK2001:未解析的外部符号memmove ui.obj:错误LNK2001:未解析的外部符号memmove undo.obj:错误LNK2001:未解析的外部符号memmove screen.obj:错误LNK2001:未解析的外部符号memmove search.obj:错误LNK2001:未解析的外部符号memmove spell.obj:错误LNK2001:未解析的外部符号memmove syntax.obj:错误LNK2001:未解析的外部符号memmove os_mswin.obj:错误LNK2001:未解析的外部符号memmove os_win32.obj:错误LNK2001:未解析的外部符号memmove quickfix.obj:错误LNK2001:未解析的外部符号memmove regexp.obj:错误LNK2001:未解析的外部符号memmove misc2.obj:错误LNK2001:未解析的外部符号memmove normal.obj:错误LNK2001:未解析的外部符号memmove ops.obj:错误LNK2001:未解析的外部符号memmove option.obj:错误LNK2001:未解析的外部符号memmove memline.obj:错误LNK2001:未解析的外部符号memmove menu.obj:错误LNK2001:未解析的外部符号