只是編譯,不調試。
一、安裝 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:\OpenJDK\cygwin\bin;%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:\OpenJDK\freetype-2.10.1 # --with-target-bits=64 編譯 64 位 # --enable-debug-symbols 生成調試符號 # --with-debug-level=slowdebug 調試模式 # --with-freetype-src=D:\OpenJDK\freetype-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/