只是编译,不调试。
一、安装 Cygwin
32 位和 64 位都可以试试。
https://cygwin.com/install.html
把这些装上(https://hg.openjdk.java.net/jdk8u/jdk8u/raw-file/tip/README-builds.html)
二、下载源码(OpenJDK8)
https://www.mercurial-scm.org/downloads
# 下载源码,目标目录需要为空 hg clone http://hg.openjdk.java.net/jdk8u/jdk8u /jdk8u # 更新代码,操作和 Git 类似 hg pull # 获取完整源码(需要在源码目录下执行,下载时间较长,一次可能下载不成功,多试几次) cd jdk8u/ set path=D:OpenJDKcygwinin;%path% bash get_source.sh
三、安装 VS2010
安装英文版本,只需要安装 c++ 部分,安装路径不要有空格或中文(默认路径有空格)
文件名 en_visual_studio_2010_professional_x86_dvd_509727.iso SHA1 F0ED50712D83BF0EDA7D284DA76DF49E4C88CEF7 文件大小 2.19GB 发布时间 2010-04-12
ed2k://|file|en_visual_studio_2010_professional_x86_dvd_509727.iso|2351316992|D395B6381AC129209EE80D9BED4BA5F1|/
安装完成后看看是否自动设置了环境变量 VS100COMNTOOLS
四、编译
下载 freetype-2.5.3 版本(--with-freetype-src):https://download.savannah.gnu.org/releases/freetype/
也可以直接下载编译好的(--with-freetype):https://www.freetype.org/download.html,https://github.com/ubawurinna/freetype-windows-binaries/releases,解压后将 win64 文件夹重命名为 lib
编译相关说明:https://www.cnblogs.com/jhxxb/p/11094578.html
# 打开 CMD,也可以使用 bash 环境 bash ./configure --with-boot-jdk=D:/OpenJDK/jdk1.7.0_80 --with-target-bits=64 --enable-debug-symbols --with-debug-level=slowdebug --with-freetype=D:OpenJDKfreetype-2.10.1 # --with-target-bits=64 编译 64 位 # --enable-debug-symbols 生成调试符号 # --with-debug-level=slowdebug 调试模式 # --with-freetype-src=D:OpenJDKfreetype-2.5.3 字体 # --disable-debug-symbols 与 --disable-zip-debug-info 都是和调试相关 # 和 --with-native-debug-symbols 作用相似,在 windows 上 --with-native-debug-symbols=internal 似乎没有作用,windows 上调试需要 pdb 文件 # --with-native-debug-symbols 默认为 zipped # 编译 make images JOBS=8 CONF=windows-x86_64-normal-server-slowdebug # JOBS 线程数 # CONF 若 configure 多种环境,用 CONF 指定编译哪一种,只有一个可以不指定
configure
make
测试
一些问题
checking if we should generate debug symbols... configure: error: Unable to find objcopy, cannot enable debug-symbols
安装下相关组件
还不行就加上参数 OBJCOPY=gobjcopy
./configure ... OBJCOPY=gobjcopy
https://codertang.com/2019/11/11/build-jdk8/