美文网首页
【openjdk】windows下编译openjdk 1.7

【openjdk】windows下编译openjdk 1.7

作者: 静筱 | 来源:发表于2018-12-28 15:56 被阅读0次

    准备阶段:

    1. 安装Mercurial

    https://www.mercurial-scm.org/wiki/Download#Windows

    确保安装成功

    image.png
    1. Cygwin64 - 安装时注意不要使用默认安装,以下组件单独安装 http://www.cygwin.com
    image.png image.png
    1. Visual Studio 10

    安装后设置环境变量PATH - 注意vs的cgwin前面,因为两个bin目录都有link.exe, 只有用vs的link.exe才能完成编译。

    image.png
    1. 下载一个编译好的jdk (jdk 1.7)

    2. 下载Apache ANT 1.6.5之上, 1.9以下,不能用1.10以上版本

    3. 2.3版本以上的FreeType(免费字体渲染库)

          设置环境变量   ALT_FREETYPE_LIB_PATH指向FreeTypebin, ALT_FREETYPE_HEADERS_PATH指向include, 把FreeType的bin加入path
      
    image.png
    1. 下载microsoft DirectX 9.0 SDK,新建环境变量 ALT_DXSDK_PATH 指向 安装目录

    2. 找到MSVCR100.DLL的动态链接库,建立环境变量ALT_MSVCRNN_DLL_PATH指向这个文件所在的目录

    3. 下载源码

    image.png image.png
    1. 下载windows sdk

    https://developer.microsoft.com/en-US/windows/downloads/windows-10-sdk

    1. 下载vs 2010

    http://pan.baidu.com/s/1i51yM9J 密码:fw41

    参考文档:

    下载下来的openjdk源码路径中:/openjdk7/README-builds.html#msvc32

    系统设置

    1. 执行VARS32.BAT,设置include, lib,path等环境变量,然后建立ALT_COMPILER_PATH,ALT_BOOTDIR,ALT_JDK_IMPORT_PATH , style="cursor:pointer;" type="application/octet-stream" src="ABBD9A38-FA61-4903-AAC6-AA8A0799DA3C.bat">

    2. 取消环境变量JAVA_HOME, 设置环境变量BUILD_CORBA值为false

    编译

    image.png
    1. 遇到问题:No VS2010 found on system. Stop.
      image.png

    解决办法:重新安装SDK和.NET framework

    https://www.cnblogs.com/zzling007/p/6661705.html

    1. 遇到问题:COMPILER_PATH cannot be empty here. Stop.
      <embed stylectet-stream" src="EC6F26E5-9DF7-4978-B0FD-0B8DD7134D0A.bat"> open

    解决办法: 增加环境变量COMPILER_PATH和COMPILER_VERSION

    1. 遇到问题: freetypecheck.c(29) : fatal error C1083 stdio.h No such file or directory
      image.png

    ** 解决办法**: INCLUDE环境变量设置有误

    1. 遇到问题: org/apache/tools/ant/launch/Launcher : Unsupported major.minor version 52.0
      jdk1.7
    image.png

    ** 解决方案:
    ant1.10.
    需要java8. , ant1.9.
    需要jdk5

    =》 安装ant 1.9

    image.png

    => 修改D:\jdkBuild\openjdk7\jaxp\jaxp.properties

    image.png
    1. 遇到问题 : get_msc_ver.sh: line 65: integer expression expected
    image.png

    解决方案:
    D:\jdkBuild\openjdk7\hotspot\make\windows\get_msc_ver.sh

    image.png
    1. 遇到问题: LNK1112 : 模块计算机类型“X86”与目标计算机类型“x64” 冲突
      image.png

    解决方案:
    D:\jdkBuild\openjdk7\hotspot\make\windows\makefiles\compile.make

    image.png
    1. 遇到问题: InstanceMirrorKlass.java 编译错误
      image.png

    解决方案:

    image.png
    1. 遇到问题: COMPILER_VERSION cannot be empty here.
    image.png

    解决方案:
    ==>D:\jdkBuild\openjdk7\jdk\make\common\shared\Compiler-msvc.gmk

    image.png
    9.遇到问题: LNK1112 : 模块计算机类型“X86”与目标计算机类型“x64” 冲突
    image.png
    解决方案:
    ==>D:\jdkBuild\openjdk7-2\hotspot\make\windows\makefiles\compile.make -- machin image.png

    <embed style="cursor:pointer;" type="application/octet-stream" src="983C3E44-536A-40A6-89C5-E41789864C51.bat">

    10.遇到问题: 创建库 jvm.lib 和对象 jvm.exp失败

    image.png

    解决方案:
    http://p2p2500.iteye.com/blog/2099863

    set HOTSPOTMKSHOME=G:\cygwin\bin

    image.png image.png

    历时4天,终于成功了。。。

    image.png

    相关文章

      网友评论

          本文标题:【openjdk】windows下编译openjdk 1.7

          本文链接:https://www.haomeiwen.com/subject/ftxelqtx.html