我正在尝试使用 graalVM v20.0.0 CE 创建一个简单的 hello world 本地映像。
最初我遇到“本机工具链”错误,但是从“x86 Native Tools Command Prompt for VS2017”启动命令行后,我克服了这个障碍。
现在的问题是一串链接器错误:
java.lib(jni_util.obj):错误 LNK2019:函数 JNU_PrintString 中引用的未解析的外部符号 __imp_fprintf
java.lib(jni_util.obj):错误 LNK2019:函数 JNU_PrintString 中引用的未解析的外部符号 __imp___iob_func
net.lib(net_util_md.obj):错误 LNK2019:函数 NET_ThrowNew 中引用的未解析的外部符号 __imp_sprintf
net.lib(net_util_md.obj):错误 LNK2019:函数 dumpAddr 中引用的未解析的外部符号 __imp_printf
jvm.lib(JvmFuncs.obj):错误 LNK2019:未解析的外部符号 __imp_vfprintf 在函数 jio_vfprintf 中引用
jvm.lib(JvmFuncs.obj):错误 LNK2019:未解析的外部符号 __imp_vsnprintf 在函数 jio_vsnprintf 中引用
MSVCRT.lib(vsnprintf.obj):错误 LNK2001:无法解析的外部符号 __imp_vsnprintf
MSVCRT.lib(vsnprintf.obj):错误 LNK2001:无法解析的外部符号 __imp__vsnprintf
D:\Tools\graalvm-ce-java8-20.0.0\bin\helloworld.exe : 致命错误 LNK1120: 7 unresolved externals
这些似乎都与最基本的函数调用直接相关,printf
.
我查看了native-image
的命令行选项,并希望明确设置--shared
或--static
会做的伎俩,但没有骰子。其他本机映像命令行选项看起来都不相关。
我进一步尝试从同一命令提示符的 VS2015 版本开始。没有。
所以我被困住了。这是我可以在获取 graalvm 的源代码并对其进行破解之外解决的问题吗?