在Windows11下编译openjdk 21

在Windows11下编译openjdk 21

下载openjdk 20作为boot jdk,假设我下载解压后的路径如下

D:\Downloads\jdk-20.0.2_windows-x64_bin\jdk-20.0.2

首先下载Cygwin,因为这是在Windows中模拟UNIX,在安装程序界面选择要安装的包

autoconf make zip unzip perl bash awk grep sed diffutils git

第二安装Visual Studio 2022,要安装desktop C++,要包括msvc 143和Windows 11 SDK,或者Windows 10 SDK

第三将Windows的设置中,把语言改为英文

时间和语言->把使用Unicode UTF-8这个选项打开

如果不行就把Windows显示语言改为英语(美国)

在Windows菜单中选择x64 Native Tools Command Prompt for VS进入命令行,这是因为要使用VC++的编译器进行编译

C:\Program Files\Microsoft Visual Studio\2022\Professional>cd c:\cygwin64 c:\cygwin64>cd bin c:\cygwin64\bin>bash.exe --login

上述是在命令行中调用cywin

测试cllink是否好用,一定要显示英文才可以

firew@JINGXIN-HONOR /cygdrive/d/openjdk $ cl Microsoft (R) C/C++ Optimizing Compiler Version 19.44.35222 for x64 Copyright (C) Microsoft Corporation. All rights reserved. usage: cl [ option... ] filename... [ /link linkoption... ] $ link link: missing operand Try 'link --help' for more information.

然后进入openjdk源码目录,切到jdk-17+30分支,创建debug编译脚本

#!/usr/bin/env bash# 设置环境变量exportBOOT_JDK="/d/Downloads/jdk-20.0.2_windows-x64_bin/jdk-20.0.2"exportFREETYPE_HOME="/c/msys64/mingw64"# 转换为Windows路径格式(如果需要)BOOT_JDK_WIN="D:\\Downloads\\jdk-20.0.2_windows-x64_bin\\jdk-20.0.2"FREETYPE_HOME_WIN="C:\\msys64\\mingw64"echo"Configuring OpenJDK 21..."# 配置命令bashconfigure\MAKE=/usr/bin/make\--with-debug-level=slowdebug\--with-native-debug-symbols=external\--with-toolchain-type=microsoft\--with-toolchain-path="/cygdrive/c/Program Files/Microsoft Visual Studio/2022/Professional/VC/Tools/MSVC/14.44.35207/bin/HostX64/x64"\--with-boot-jdk="$BOOT_JDK_WIN"\--disable-warnings-as-errors# 检查配置结果if[$?-eq0];thenecho"Configuration successful, starting build..."makeimagesJOBS=8#make CONF=windows-x86_64-server-slowdebug all JOBS=8elseecho"Configuration failed!"read-p"Press enter to continue..."exit1fi

如果要编译release版本,则采用以下脚本

#!/usr/bin/env bash# 设置环境变量exportBOOT_JDK="/d/Downloads/jdk-20.0.2_windows-x64_bin/jdk-20.0.2"exportFREETYPE_HOME="/c/msys64/mingw64"# 转换为Windows路径格式(如果需要)BOOT_JDK_WIN="D:\\Downloads\\jdk-20.0.2_windows-x64_bin\\jdk-20.0.2"FREETYPE_HOME_WIN="C:\\msys64\\mingw64"echo"Configuring OpenJDK 21..."#--with-freetype=bundled \#--with-freetype-include="$FREETYPE_HOME_WIN/include/freetype2" \#--with-freetype-lib="$FREETYPE_HOME_WIN/lib" \# 配置命令bashconfigure\MAKE=/usr/bin/make\--with-debug-level=release\--with-toolchain-type=microsoft\--with-toolchain-path="/cygdrive/c/Program Files/Microsoft Visual Studio/2022/Professional/VC/Tools/MSVC/14.44.35207/bin/HostX64/x64"\--with-boot-jdk="$BOOT_JDK_WIN"\--disable-warnings-as-errors# 检查配置结果if[$?-eq0];thenecho"Configuration successful, starting build..."makeimagesJOBS=8elseecho"Configuration failed!"read-p"Press enter to continue..."exit1fi

然后在上述cygwin命令好输入

bash build.sh

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1125486.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

5G时代下联邦学习在AI原生应用中的新机遇

5G联邦学习:AI原生应用的下一个爆发点 一、引言:AI原生应用的“数据困局”与破局之道 清晨7点,自动驾驶汽车在早高峰的车流中平稳行驶,它通过路侧单元(RSU)实时获取前方施工路段的临时交通灯信息&#xff0…

【四旋翼控制】基于6自由度四旋翼跟踪轨迹(利用LQR整体动作设定点控制,姿态控制和PD路径跟踪控制器Matlab仿真)

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和数学建模资料 &#x1f34…

牙齿拥挤数据集3206张yolo

牙齿拥挤数据集3206张VOCYOLO格式 数据集格式:VOC格式YOLO格式 压缩包内含:3个文件夹,分别存储图片、xml、txt文件 JPEGImages文件夹中jpg图片总计:3206 Annotations文件夹中xml文件总计:3206 labels文件夹中txt文件总…

Microsoft 开发的关系型数据库管理系统(RDBMS)

SQL Server 简介 SQL Server 是由 Microsoft 开发的关系型数据库管理系统(RDBMS),支持企业级数据管理、分析和应用开发。其核心功能包括数据存储、事务处理、商业智能(BI)和高可用性解决方案。 SQL Server 版本 企业…

Java进阶知识-反射

获取Class对象 有三种方式获取Class对象:根据类的完整包名获取Class Class clazz Class.forName(“com.example.xjp.demo.reflect.PersonInfo”);根据类名直接获取Class Class clazz PersonInfo.class;根据实例类的对象获取Class PersonInfo personInfo new Pers…

Gemini认证疑难解答会

Gemini认证疑难解答会通常是指围绕Google推出的Gemini大模型系列在使用、集成或开发过程中遇到的技术问题进行讨论与解决的会议或交流活动。这类会议可能由开发者社区、企业技术团队或Google官方组织,旨在帮助用户更好地理解Gemini API的认证机制、权限配置、访问控…

Django 视图基础

Django 视图基础Django 视图是处理用户请求并返回响应的核心组件。视图可以是函数或类,通常定义在 views.py 文件中。函数视图示例:from django.http import HttpResponsedef hello_world(request):return HttpResponse("Hello, World!")类视图…

Java 进阶:异常影响性能吗?

Java 进阶异常影响性能吗 catch 中不做任何事情catch 中输出异常到日志catch 中获取异常栈总结 Java 进阶:异常影响性能吗? 曾经在给一个业务系统增加限流功能,使用的限流组件在流量超过阈值时,会直接抛异常,异常导…

【Qt改变虚拟键盘的大小】

默认情况下qtvirtualkeyboard占据了半个屏幕 可以通过修改源码的方式来修改其大小。 1.找到desktopinputpanel.cpp,参考路径 2.修改show函数注释的代码为源文件原来的代码。 3.键盘样式修改需要修改对应的qml文件,路径为qtvirtualkeyboard/src/virtualkeyboard/cont…

java进阶训练营 极客,关于架构极客大学java进阶训练营

C语言中, 数组[2]属于结构数据类型。一个数组能够合成为多个数组元素,这些数组元素能够是根本数据类型或是构造类型。因而按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、构造数组等各种类别。 对于可变长数组(VLA)的问题&…

Java进阶整理

对于一个程序员不能只是停留在满足平常的业务开发的水平,所以今天来整理一下Java的进阶知识。 通过以下几个方面来讲一讲Java的进阶知识: Jvm Jvm结构类加载对象的分配过程 、对象存储布局Java的内存模型、GC(MinorGC(新生代&a…

java头歌-数组进阶

第一关 public static void main(String[] args) {//动态构建arr1int[] arr1 new int[3];Scanner sc new Scanner(System.in);for(int i 0 ; i< arr1.length ; i){arr1[i] sc.nextInt();}/********** Begin **********///创建数组arr2int[] arr2 new int[3];for (int i…

java进阶知识点

java回收机制 浅谈java中的反射 依赖注入的简单理解 通过接口的引用和构造方法的表达&#xff0c;将一些事情整好了反过来传给需要用到的地方~ 这样做得好处&#xff1a;做到了单一职责&#xff0c;并且提高了复用性&#xff0c;解耦了之后&#xff0c;任你如何实现&#xf…

破解空间困局:看紧凑型ARM工控机如何一机多能

在智能工厂的角落、自动化产线的缝隙、或是移动设备的内部&#xff0c;工程师们常常面临一个经典难题&#xff1a;空间极其有限&#xff0c;但需要连接和控制的设备却一点不少。 摄像头、传感器、PLC、扫码枪、显示屏、机械臂……每一个都需要一个“对话”的接口。传统的工控机…

Java基础进阶-水仙花数

/* 功能&#xff1a;求水仙花数&#xff0c;打印并统计总个数。 思路&#xff1a; 水仙花数是定义范围100-999&#xff0c;满足每个位上的数子的3次方相加和等于这个数 第一步&#xff1a;循环遍历数据范围 第二步&#xff1b;取出当前数字的个位&#xff0c;十位&#xff0c;百…

Java进阶教程(二)代码块

Java进阶教程&#xff08;二&#xff09; 代码块 构造代码块&#xff1a;给所有的对象进行统一的初始化。对象一建立就运行并且优先于构造函数。 静态代码块&#xff1a;随着类的加载而加载。只执行一次&#xff0c;用于给类进行初始化。public class Demo {public static void…

提升Python AI模型训练速度:从入门到进阶的实战优化方案

你在训练AI模型时&#xff0c;最头疼的莫过于“等了几小时甚至几天&#xff0c;模型还没训练完”——不管是图片分类、文本分析还是更复杂的深度学习模型&#xff0c;训练速度直接影响开发效率。 一、硬件层面&#xff1a;先把“基础算力”用到位&#xff08;性价比最高的提速方…

【论文精读】-Graph-Grounded Pre-training and Prompting

家人们&#xff0c;主播又回来啦&#xff0c;这一周主播比较忙&#xff0c;所以就只认认真真精读了这一篇论文。主播这也是第一次使用提问法&#xff0c;讲这篇文章里面究极的一些问题给弄明白了&#xff0c;这也是很好的一点。话不多说&#xff0c;我们来一起看看这篇文章吧&a…

12 种 RAG(检索增强生成)的新型高级架构与方法,建议收藏!

RAG&#xff08;检索增强生成&#xff09; 曾是极其热门的话题之一。而本周非常幸运地看到了一些关于 RAG 的真正令人兴奋的新研究 让我们一起来看看近期出现的 12 种 RAG 高级架构与方法&#xff1a; 1. Mindscape-Aware RAG (MiA-RAG) 全局感知 RAG MiA-RAG 通过首先构建整个…

java学习进阶之路,如果从一个菜鸟进阶成大神

二、下面是java工作之路&#xff0c;以供参考&#xff1a; 三、下面给出阶段性细化需要掌握的技能&#xff1a;1.第一阶段2.第二阶段3.第三阶段4.第四阶段5.第五阶段四、更加细化的细节如下&#xff1a;1&#xff1a; 编程基础 不管是C还是C&#xff0c;不管是Java还是PHP&…