三:进行编译
首先删除JAVA_HOME、CLASSPATH环境变量,然后执行%VS2003_HOME%/Vc7/bin/vcvars32.bat设置环境变量
注意:为了保险起见执行.bat文件后手动查看下PATH环境变量(我本机的如下):
C:\Program Files (x86)\Microsoft Visual Studio .NET 2003\Vc7\bin;C:\Program Files (x86)\Microsoft Visual Studio .NET 2003\Common7\IDE;C:\Program Files (x86)\Microsoft Visual Studio .NET 2003\Common7\Tools\Bin;C:\Program Files (x86)\Microsoft Visual Studio .NET 2003\SDK\v1.1\Bin;C:\cygwin64\bin
确保PATH环境变量中cygwin的bin目录在vs2003后面。
做完这些之后开始正式编译:
打开cmd,执行以下命令(可以将下列命令copy到.bat文件下,dos下直接执行):
#你的Bootstrap Jdk的目录 set ALT_BOOTDIR=C:/jdk1.6.0_45 #你的Bootstrap Jdk的目录 set ALT_JDK_IMPORT_PATH=C:/jdk1.6.0_45
#你的freetype的include目录 set ALT_FREETYPE_HEADERS_PATH=C:/compileSunJdk6u23/freetype/include
#你的freetype的bin目录 set ALT_FREETYPE_LIB_PATH=C:/compileSunJdk6u23/freetype/bin #你的MicrosoftDirectX9.0的目录 set ALT_DXSDK_PATH=C:/compileSunJdk6u23/MicrosoftDirectX9.0
#你的msvcrt.dll文件所在的目录 set ALT_MSVCRT_DLL_PATH=C:/compileSunJdk6u23/msvcr
#你的vc的编译器目录 set ALT_COMPILER_PATH=C:/Program Files (x86)/Microsoft Visual Studio .NET 2003/Vc7/bin
#msdevtools的目录 set ALT_MSDEVTOOLS_PATH=C:/Program Files (x86)/Microsoft Visual Studio .NET 2003/Common7/Tools
#你的MicrosoftLayerForUnicode目录 set ALT_UNICOWS_DLL_PATH=C:/compileSunJdk6u23/MicrosoftLayerForUnicode
#你的MSVCDIR目录 set MSVCDIR=C:/Program Files (x86)/Microsoft Visual Studio .NET 2003/Vc7
#设置INCLUDE set INCLUDE=C:/Program Files (x86)/Microsoft Visual Studio .NET 2003/Vc7/include;C:/Program Files (x86)/Microsoft Visual Studio .NET 2003/Vc7/PlatformSDK/Include;C:/Program Files (x86)/Microsoft Visual Studio .NET 2003/Vc7/atlmfc/include
#设置LIB set LIB=C:/Program Files (x86)/Microsoft Visual Studio .NET 2003/Vc7/lib;C:/Program Files (x86)/Microsoft Visual Studio .NET 2003/Vc7/PlatformSDK/Lib;C:/Program Files (x86)/Microsoft Visual Studio .NET 2003/Vc7/atlmfc/lib
make dev-sanity BUILD_DEPLOY=false SKIP_COMPARE_IMAGES=true HOTSPOT_BUILD_JOBS=6 COMPILER_VERSION=VS2003
如果检查没有问题的话会出现以下字样:
Sanity check passed.
然后在执行最后的make命令之前,注意有两个坑:
1、需要将C:/Windows/System32/find.exe 暂时移动到其他目录下,避免与cygwin/bin/find.exe冲突,造成在编译过程中发生错误。
2、需要将将%VS2003_HOME%Common7\Tools\bin 中的rc.exe copy到 %VS2003_HOME%Common7\Tools下一份,因为在执行过程中发现
会报/bin/sh: C:/PROGRA~2/MICROS~2.NET/Common7/Tools/rc: No such file or directory的错误。
最后执行:
make dev BUILD_DEPLOY=false SKIP_COMPARE_IMAGES=true HOTSPOT_BUILD_JOBS=6 COMPILER_VERSION=VS2003