使用Graalvm简单编译native-image

下载graalvm,解压并配置graalvm_home环境变量,若原有java_home需要将其指向graalvm_home:

GRAALVM_HOME=C:\graalvm-ee-java11-21.3.0

path=path;%GRAALVM_HOME%\bin
JAVA_HOME=%GRAALVM_HOME%

使用gu安装native-image:gu install native-image

创建编译测试代码HelloWorld.java:

public class HelloWorld { 
    public static void main(String[] args) { 
        System.out.println("Hello World"); 
    }
}

编译HelloWorld

javac HelloWorld.java
native-image HelloWorld

问题一:

在进行native-image编译过程中,可能会出现cl.exe缺失的问题。

Error: Default native-compiler executable 'cl.exe' not found via environment variable PATH

官网介绍可知,在windows中使用native-image需要安装msvc2017-15.9或以上版本,可使用vs安装工具安装所需组件,vs下载地址

image-20211118005017063

经实践,graalvm-ee-21.3.0在vs installer中下载如下组件。

img

安装完毕后,需要配置msvc的环境变量(大约在这个路径下,根据下载路径来改变)

MSVC=C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.29.30133

cmd中执行cl指令后出现以下提示,msvc则配置成功了

image-20211118202234642

问题二:

fatal error C1034: stdio.h: 不包括路径集

需要添加window includewindow lib的环境变量

WK10_INCLUDE=C:\Program Files (x86)\Windows Kits\10\Include\10.0.20348.0
WK10_LIB=C:\Program Files (x86)\Windows Kits\10\Lib\10.0.20348.0
## 变量值必须为INCLUDE和LIB
INCLUDE=%WK10_INCLUDE%\ucrt;%WK10_INCLUDE%\um;%WK10_INCLUDE%\shared;%MSVC%\include
LIB=%WK10_LIB%\um\x64;%WK10_LIB%\ucrt\x64;%MSVC%\lib\x64

GraalVM Native Image介绍

java-graalvm-start

Visual Studio 2019 配置 MSVC 环境变量,使用命令行编译

使用msvc的cl工具编译程序,以及 “fatal error C1034: iostream: 不包括路径集”等问题解决

cl.exe missing when building native app using GraalVM

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值