64位windows8.1编译openjdk8
首先下载openjdk8
这里用到版本管理工具Mercurial,与git有些类似,不了解的话可以查一下。
clone后,里面有个文件README-builds.html,里面说的比较详细,是主要参考文档。
clone之后的jdk8需要运行sh ./get_source.sh才能获取完整的代码。
我的编译环境及准备(这里举例说明编译32位的openjdk):
win8.1 64位
mingw(官网,这里用的3.82.90,注意下载时选msys)
freetype(一个字体引擎,oracle
jdk没有开源其字体,因此openjdk用开源的freetype,官网,这里用的是freetype2.6)
Visual Studio 2010(windows版本的openjdk会用到其编译器,这里选用的是Express
版本。
sp1补丁:)
jdk1.7(要update 7以上的版本,这里用的jdk-7u45-windows-x64.exe)
编译过程:
1、编译freetype,打开目录\freetype2\builds\windows\vc2010,直接用vs2010打开freetype.sln编译。
注意属性设置:
编译64位:
Configuration Manager -> Active Solution Manager -> Type or select the new Platform -> x64
Configuration -> Release Multithreaded
Platform -> x64
Output Directory -> rename ".\..\..\..\objs\win32\vc2010\" to ".\..\..\..\objs\win64\vc2010\"
Intermediate Directory -> rename ".\..\..\..\objs\release_mt\" to ".\..\..\..\objs\release_mt_64\"
Target Name -> rename to "freetype"
Platform Toolset -> Windows7.1SDK
编译32位:
Configuration -> Release Multithreaded
Platform -> win32
Target Name -> rename to "freetype"
Platform Toolset -> v100
这里编译32位,分别编译成freetype.dll和freetype.lib。
在freetype2目录下创建文件夹lib,把这两个文件复制进去(注:编译openjdk8只用这两个文件)。
2、获取openjdk源代码:
打开msys,进入刚才clone的jdk8目录,我的在D盘根目录,所以
cd /d/jdk8 sh ./get_source.sh
(获取源码可能有些慢,可以不用Mercurial,直接下载,只是不是最新)
注:
jdk8u,用sh ./get_source.sh获取时可能有些麻烦,例如中文操作系统会报
ERROR:Could not determine Mercurial version of ...
这时候加个系统环境变量LANGUAGE,值为en就可以了。
如果直接下载,目前打包的只能下载到jdk8u40,https://www.java.net/download/openjdk/jdk8u40/ri/openjdk-8u40-src-b25-10_feb_2015.zip,,相对较老。
3、configure
freetype2我也放在D盘根目录,因此
bash ./configure --with-freetype=../freetype2 --with-target-bits=32
这时候会发现提示少一些命令,运行
mingw-get.exe install msys-zip mingw-get.exe install msys-unzip
还有一些其它的包,需要什么,就补什么,运行bash ./configure时会有提示。
缺少cpio.exe,可以把bsdcpio.exe重命名为cpio.exe。
4、编译openjdk8
configure成功后,修改D:\jdk8\build\windows-x86-normal-server-release\spec.gmk文件中JOBS的值为1(JOBS?=1),JOBS多了编译不通过,有关JOBS的说明参考README-builds.html。
运行命令
make all
或者不修改文件,直接
make all JOBS=1
编译成功后,查看成果
D:\jdk8\build\windows-x86-normal-server-release\images\j2sdk-image
官方有测试过程,可以试着测试测试。
64位windows8.1编译openjdk8
温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/67217.html
- 上一篇:C#创建和初始化类
- 下一篇:C#基础知识系列四(运算符汇总)