Windows JDK11编译步骤

0 下载JDK11源码

git clone https://github.com/openjdk/jdk11.git

1 准备Cygwin

  Windows操作系统不符合POSIX标准。但是有个工具可以解决这个问题,那就是cygwin。下载链接是Cygwin。然后是安装cygwin命令。代码如下:

PS > .\setup-x86_64.exe -q -P autoconf -P make -P unzip -P zip

  注意要把Cygwin在环境变量path里排第一位,否则会报以下错误:
在这里插入图片描述
  反正我的环境变量,无论是用户变量和系统变量,都把Cygwin放第一位:
在这里插入图片描述

2 准备C/C++编译工具

  最高只能用Visual Studio 2017.如果没有,那就去下载吧。并且按照以下组件。
在这里插入图片描述

3 手动删除\r

  Windows可能会将换行符变成\r\n。这样configure的时候会报错,如下图:
在这里插入图片描述

4 下载一个JDK10

  JDK10下载地址

5 配置操作系统为英文版

在这里插入图片描述

在这里插入图片描述
  为什么要这么做?
  因为失败日志里有这么一段:
在这里插入图片描述
  而错误来自于这段代码:

$ECHO "$COMPILER_VERSION_OUTPUT" | $GREP "Microsoft.*Compiler" > /dev/null
    if test $? -ne 0; then
      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: The $COMPILER_NAME compiler (located as $COMPILER) does not seem to be the required $TOOLCHAIN_TYPE compiler." >&5
printf "%s\n" "$as_me: The $COMPILER_NAME compiler (located as $COMPILER) does not seem to be the required $TOOLCHAIN_TYPE compiler." >&6;}
      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: The result from running it was: \"$COMPILER_VERSION_OUTPUT\"" >&5
printf "%s\n" "$as_me: The result from running it was: \"$COMPILER_VERSION_OUTPUT\"" >&6;}
      as_fn_error $? "A $TOOLCHAIN_TYPE compiler is required. Try setting --with-tools-dir." "$LINENO" 5
    fi

  "用于 x64 的 Microsoft ® C/C++ 优化编译器 19.16.27039 版"与正则表达式"Microsoft.*Compiler"肯定不匹配,那么返回退出码肯定不是0,if test $? -ne 0是退出码的判断。这是JDK源码的一个不完善的部分,不兼容中文windows操作系统。
  打开Visual Studio修改语言为与操作系统相同的英文。
在这里插入图片描述
  启动Visual Studio安装包安装英文语言包:
在这里插入图片描述
在这里插入图片描述
  一切就绪后,会出现一个奇怪的现象,那就是两个路径的cl执行结果不一样,一个中文一个英文:
  C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64
在这里插入图片描述
  C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\Hostx86\x64
在这里插入图片描述
  注意,这两个cl.exe的SHA-256校验码是一样的,表明其内容一样。把我逼得没办法,我用了什么方法让它输出英文呢?我把原先的VC目录重命名了,把Community目录里的VC拷贝过来了。
在这里插入图片描述

6 执行configure命令

bash configure --with-msvcr-dll=/cygdrive/c/msvcr100.dll --with-boot-jdk="C:\Program Files\Java\jdk-10.0.2" --with-tools-dir="
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC"

  执行还是非常成功的
在这里插入图片描述

7 make

  编译命令很简单,可惜我编译失败了:
在这里插入图片描述
  后来才知道,应该用Windows Server 2012 R2这个操作系统,可惜我是Windows10啊。
Windows Server 2012 R2

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

醒过来摸鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值