做网站需要代码么,设计类专业有哪些,合肥如何做百度的网站,如何制作小程序图片通过做一些实验#xff0c;我发现手头提供JDK源代码来进行一些更改#xff0c;使用它等等通常很有用。因此#xff0c;我决定下载并编译该野兽。 显然#xff0c;这花了我一些时间#xff0c;尽管我最初的想法是#xff0c;它应该和运行make命令一样简单#xff1a;我发现手头提供JDK源代码来进行一些更改使用它等等通常很有用。因此我决定下载并编译该野兽。 显然这花了我一些时间尽管我最初的想法是它应该和运行make命令一样简单。 您可能会猜到我发现这不是一项微不足道的任务并且为了简化以后的生活保留一些有关我正在做的事情的记录将非常有用。 以下是我要做的步骤。 我认为计算机已经安装了Visual Studio 2010。 我觉得Express版本应该可以正常工作但是我还没有尝试过。 安装cygwin。 确保已安装此处列出的所有软件包其中一些默认情况下未安装。 以防万一这是该表的副本但建议与主源进行验证 二进制名称 类别 包 描述 可执行文件 开发 Binutils GNU汇编器链接器和二进制实用程序 制作工具 开发 使 为CYGWIN构建的make实用程序的GNU版本。 可执行文件 口译员 m4 传统Unix宏处理器的GNU实现 cpio.exe 实用程序 cpio 一个管理文件存档的程序 gawk.exe 实用程序 awk 模式导向的扫描和处理语言 文件 实用程序 文件 使用“魔术”数字确定文件类型 压缩文件 封存 压缩 打包和压缩存档文件 解压缩文件 封存 解压缩 提取ZIP档案中的压缩文件 免费版 系统 ps 显示系统中的可用和已用内存量 不要忘记将cygwin的bin文件夹添加到PATH中。 从此处安装Mercurial并将“ hg”添加到PATH。 安装用于Windows 7和.NET Framework 4的Microsoft Windows SDK 。 安装DirectX SDK 。 JDK需要v9.0但我很难找到它。 所以我决定不打扰并安装最新的。 似乎工作正常。 Bootstrap JDK是构建所必需的。 碰巧我使用了JDK6但是假设任何 JDK6的版本都不会出现问题。 下载并安装Ant 。 我使用的是1.8.2版本。 将Ant添加到PATH。 结帐来源。 由于多种原因它是最复杂的部分。 “ hg”不是特别稳定因此某些应该由我的脚本完成的操作是手动完成的。 因此要在命令行中开始运行此命令 hg clone --verbose --pull http://hg.openjdk.java.net/jdk7u/jdk7u some_folder\openjdk7 这应该下载带有一些帮助脚本的根文件夹。 然后在cygwin中转到刚刚创建的“ openjdk7”文件夹并运行“ get_source.sh”。 “ get_source.sh”可能会失败或只是挂起这正是我所发生的事情。 如果是这样则您可以尝试使用“ –pull”标志元数据的拉协议。 我不确定为什么但这对我有所帮助。 不幸的是脚本不是以非常友好的方式编写的并且无法将任何“ hg”参数传递给源检索脚本。 因此您需要转到“ make \ scripts \ hgforest.sh”并将“ –pull”添加到“ hg clone”的每次调用中。 而且即使添加“ -pull”后仍然失败嗯……只要放弃并手动运行以下命令 hg clone --verbose --pull http://hg.openjdk.java.net/jdk7u/jdk7u/corba corba
hg clone --verbose --pull http://hg.openjdk.java.net/jdk7u/jdk7u/hotspot hotspot
hg clone --verbose --pull http://hg.openjdk.java.net/jdk7u/jdk7u/jaxp jaxp
hg clone --verbose --pull http://hg.openjdk.java.net/jdk7u/jdk7u/jaxws jaxws
hg clone --verbose --pull http://hg.openjdk.java.net/jdk7u/jdk7u/jdk jdk
hg clone --verbose --pull http://hg.openjdk.java.net/jdk7u/jdk7u/langtools langtools 希望现在您有资源并且可以有所帮助:) Build需要一些外部二进制文件和一个可在Windows下运行的make.exe版本。 cygwin随附的make并没有真正起作用因为路径名中的驱动器字母存在一些问题。 接下来是我们需要编译几个文件。 一种是“ make.exe”的固定版本。 另一个是FreeType库仅可作为源下载。 如果您不希望编译所有这些东西而只想轻松编译JDK则建议从此处下载二进制文件这是我的云端硬盘。 将“ make.exe”解压缩到“ openjdk7 / bin”中。 请注意该软件包中的“ make.exe”非常老需要cygintl-3.dll当前cygwin并未提供。 要修复此问题只需复制cygintl-8.dll- cygintl-3.dll。 Freetype lib和dll必须放在ALT_FREETYPE_LIB_PATH conf变量引用的文件夹中请参阅步骤13。 另外仍然需要一些Freetype标头并通过make通过ALT_FREETYPE_HEADERS_PATH变量找到它们请参见步骤13。 这意味着您还需要下载源代码。 如果您不是在寻找简单的解决方案而是想自己编译这些二进制文件请按照以下说明进行操作 从这里下载make 3.82并解压缩。 找到“ config.h.W32”并取消注释行定义为“ HAVE_CYGWIN_SHELL”。 在Visual Studio中打开make_msvc_net2003.sln解决方案选择“发布”配置并进行构建。 在“发布”文件夹中您将获得“ make_msvc.net2003.exe”并将其重命名为“ make.exe”。 现在编译FreeType 从此处下载FreeType v.2.4.7的源。 将其解压缩到某个位置然后在Visual Studio中打开“ \ builds \ win32 \ vc2010 \ freetype.sln”。 转到项目属性在项目树中的项目上单击鼠标右键然后在“配置属性/常规/配置类型”中选择“动态库.ddl”然后将输出重命名为“ freetype”。 更新ftoption.h添加以下两行 定义FT_EXPORTx__declspecdllexportx 定义FT_BASEx__declspecdllexportx 进行构建您将在objs \ win32 \ vc2010中获得dll和lib。 不要忘记为“ ALT_FREETYPE_LIB_PATH”和“ ALT_FREETYPE_HEADERS_PATH”变量分配适当的值请参阅步骤13。 我在javadoc生成方面遇到了一些问题但由于OutOfMemory失败。 为了修复它我不得不更改“ openjdk7 \ jdk \ make \ docs \ Makefile”。 这段代码 ifeq ($(ARCH_DATA_MODEL),64)MAX_VM_MEMORY 1024
else ifeq ($(ARCH),universal)MAX_VM_MEMORY 1024
elseMAX_VM_MEMORY 512
endif 必须用以下内容替换 ifeq ($(ARCH_DATA_MODEL),64)MAX_VM_MEMORY 1024
else ifeq ($(ARCH),universal)MAX_VM_MEMORY 1024
elseMAX_VM_MEMORY 1024
endif 复制“ msvcr100.dll”到以下目录 cp /cygdrive/c/Program\ Files\ \(x86\)/Microsoft\ Visual\ Studio\ 10.0/Common7/Packages/Debugger/X64/msvcr100.dll ./drops/ 确保Windows之前的cygwin的“ find.exe”在PATH中。 最简单的方法是将其复制到“ openjdk7 / bin”然后在当前PATH的开头进行设置。 创建一个类似于以下文件的批处理文件。 不要忘记适当地更新路径 ALT_BOOTDIRC:/Stuff/java_libs/jdk1.6.0_25
ANT_HOMEC:/Stuff/java_libs/apache-ant-1.8.2
JAVA_HOME
CLASSPATH
PATHC:/Stuff/openjdk7/bin;%PATH%
ALLOW_DOWNLOADStrue
ALT_MSVCRNN_DLL_PATHC:/Stuff/java_libs/openjdk7/dropsC:\WINDOWS\system32\cmd.exe /E:ON /V:ON /K C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd /Release /xp /x86 运行批处理文件。 现在您已经完全配置了环境可以开始构建了。 运行“ bash”然后在shell中执行“ make” make ARCH_DATA_MODEL32 ALT_OUTPUTDIRC:/Users/Stas/Stuff/java_libs/openjdk7/output_32 ALT_FREETYPE_LIB_PATHC:/Users/Stas/Stuff/java_libs/openjdk7/freetype-2.4.7/objs/win32/vc2010 ALT_FREETYPE_HEADERS_PATHC:/Users/Stas/Stuff/java_libs/openjdk7/freetype-2.4.7/include ALT_BOOTDIRC:/Users/Stas/Stuff/java_libs/jdk1.6.0_25 ALT_DROPS_DIRc:/OpenJDK/ALT_DROPS_DIR ALT_DROPS_DIRC:/Users/Stas/Stuff/java_libs/openjdk7/drops HOTSPOT_BUILD_JOBS4 PARALLEL_COMPILE_JOBS4 21 | tee C:/Stuff/java_libs/openjdk7/output_32.log 这将开始构建32位JDK。 喝咖啡茶或您想要的任何东西然后大约一个小时后您应该会看到类似以下的内容 #-- Build times ----------
Target all_product_build
Start 2012-09-01 23:08:55
End 2012-09-01 23:55:48
00:02:35 corba
00:06:46 hotspot
00:00:30 jaxp
00:00:51 jaxws
00:35:30 jdk
00:00:37 langtools
00:46:53 TOTAL
------------------------- 参考来自Stas博客博客的JCG合作伙伴 Stanislav Kobylansky在Windows上构建OpenJDK 。 翻译自: https://www.javacodegeeks.com/2012/09/stass-blog-building-openjdk-on-windows.html