最小化安装 MSVC ( 可用于 graalvm native-image )

news/2024/10/15 2:33:46

前言

自从接触了 native-image, 就想把所有 Java 项目全用 native-image 编译一遍, 谁不喜欢 exe 呢🤗。但 msvc 的前置条件一直让我望而却步,世界上最好的 ide,超级重量级的大小,强制占用的 C 盘空间……之前的做法是:创建一个虚拟机,在虚拟机里安装 msvc 编译好 exe 再复制出来用,但随着项目依赖的增加,编译时间越来越长,构建产物也越来越大,更哈人的是,电脑性能没法被充分利用. 如下图,这根本不能忍好吧
image

解决

经过一段漫长的搜索引擎时间,终于找到办法可以不安装 visual studio 只安装构建工具链了,虽然还是要 4g 左右
image
我只安装了这三个组件。最开始只想着安装 msbuild 和 Windows 11 sdk 的,不过装完发现好像不行,然后就急啊了个 msvc
image
估计 msbuild 不是必要的

安装

从下边的链接里找到官方下载器,我下的是 vs_buildtools 不过感觉应该都一样,反正最终都是会自动下载一个祖传 visual studio 下载器
https://learn.microsoft.com/en-us/visualstudio/install/use-command-line-parameters-to-install-visual-studio?view=vs-2022
image

image
在这个 exe 所在位置打开 cmd,执行下边命令, 表示只安装 msvc、windows11 sdk

vs_buildtools.exe --add Microsoft.VisualStudio.Component.VC.Tools.x86.x64 --add Microsoft.VisualStudio.Component.Windows11SDK.22000

等待执行完毕就可以去开始菜单找到 x64 Native Tools Command Prompt for VS 2022 了,这个就是 native-image 所需的 msvc 环境

后记

如果还需要安装其它组件,可以参考 https://learn.microsoft.com/en-us/visualstudio/install/workload-component-id-vs-build-tools?view=vs-2022 这里头有所有组件的名字,可以通过上边的 --add 参数来自行添加
在实体机用同样的命令执行了下,msbuild 估计是没法去掉的,总空间 4.24g
image
记住现在 C 盘的大小
image

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

Spring注解开发

配置bean 在类的上方一个注解: @Component ,就表示配置了该类 @Component("该类的名称,可以省略不写") public class DaoImpl implements Dao {public void show(){} }在xml配置文件中,添加扫描注解的配置 # base-package表示要扫描的包 <context:component-s…

FastChat

FastChat https://github.com/lm-sys/FastChat 为服务基于大模型的chat应用, FastChat提供框架。 提供三个功能 training, serving, and evaluating 有评价功能、训练功能(fine tuning) 主要的还是 serving能力, 可以支持大模型的负载均衡FastChat is an open platform for…

.net事件

描述(做一个简单的记录): 事件(event)的本质是一个委托;(声明一个事件: public event TestDelegate eventTest;)  委托(delegate)可以理解为一个符合某种签名的方法类型;比如:TestDelegate委托的返回数据类型为string,参数为 int和EventPara,而TestI方…

学习如何分享

3、访问以下链接,下载工具:①打开可执行文件;②将XML文件拖动到窗口中,回车。https://files-cdn.cnblogs.com/files/codealone/博客采集工具.zip此时,开始自动将一篇文章设为一个html文件(博客采集工具\cnblogs):3、访问以下链接,下载工具:①打开可执行文件;②将XML…

海亮杯总结

写在前面: 100+100+30+0+20+20=270,rnk42,超级菜 你说的对,但是《第三届“海亮杯”》是由海亮教育集团自主研发的一款全新开放世界冒险游戏。游戏发生在一个被称作「浙江省诸暨海亮高级中学」的幻想世界,在这里,被神选中的人将被授予「正方形巧克力」,导引「数位和」之力…

力扣-83. 删除排序链表中的重复元素

1.题目 题目地址(83. 删除排序链表中的重复元素 - 力扣(LeetCode)) https://leetcode.cn/problems/remove-duplicates-from-sorted-list/ 题目描述 给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。示例 1:输入:head = …

SAP 事务代码CU71报错 - 特性LOBM_LWEDT不存在 -

SAP 事务代码CU71报错 - 特性LOBM_LWEDT不存在 -1, 在事务代码CU71或者如下配置里。定义排序规则,试图使用SAP标准特性LOBM_LWEDT, SAP报错说:’特性LOBM_LWEDT不存在’。这是SAP系统上的一个标准的特性,怎么能不存在SAP系统上呢?2,解决方法:执行事务代码BMSM或者进入如下…