起因
这个错误是吾编译OpenJDK8时遇到的。这是第二次编译,第一次编译没有记录这个错误。现在有了,是因为OpenJDK8西向的脚本变化。
原因
经过搜索、分析、检查,实际上可用的Windows SDK只有v7.1A,其他的都不行。要解决这个问题,自然需要告诉编译器使用这个目录:
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A
解决办法1(无效)
如果是命令行编译,修改vcvars64.bat/vcvars32.bat,在头部增加如下内容:
set VS_SDK_PATH=%ProgramFiles(x86)%\Microsoft SDKs\Windows\v7.1A set INCLUDE=%VS_SDK_PATH%\Include;%INCLUDE% set PATH=%VS_SDK_PATH%\Bin;%PATH% set LIB=%VS_SDK_PATH%\Lib;%LIB%
解决办法2(有效)
打开common\autoconf\generated-configure.sh,搜索Microsoft Visual Studio 2015,注释一个语句后:
# VS_ENV_ARGS_2015="8.1"
再次编译
怎么样?是不是很神奇的通过了?
有人问汝是怎么找到这个解决办法的?一时吾亦说不清楚,就是多试多找多联想。