下载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 FilesMicrosoft Visual Studio2022CommunityVCToolsMSVC14.29.30133
cmd中执行cl指令后出现以下提示,msvc则配置成功了
image-20211118202234642问题二:
fatal error C1034: stdio.h: 不包括路径集
需要添加window include,window lib的环境变量
WK10_INCLUDE=C:Program Files (x86)Windows Kits10Include10.0.20348.0 WK10_LIB=C:Program Files (x86)Windows Kits10Lib10.0.20348.0 ## 变量值必须为INCLUDE和LIB INCLUDE=%WK10_INCLUDE%ucrt;%WK10_INCLUDE%um;%WK10_INCLUDE%shared;%MSVC%include LIB=%WK10_LIB%umx64;%WK10_LIB%ucrtx64;%MSVC%libx64
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



