当前位置: 首页 > 知识库问答 >
问题:

GraalVM 本机映像基本链接器错误

高建本
2023-03-14

我正在尝试使用graalVM v20.0.0CE创建一个简单的hello world本地映像。

最初,我收到了一个“本机工具链”错误,但从“x86 Native Tools Command Prompt for VS2017”启动了一个命令行,我就克服了这个障碍。

现在的问题是一串链接器错误:

java.lib(jni_util.obj):错误LNK2019:函数jni _打印字符串中引用了未解析的外部符号__imp_fprintf

java.lib(jni_util.obj):错误LNK2019:函数JNU_PrintString中引用的未解析外部符号

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_vsnprint

MSVCRT.lib(vsnprintf.obj):错误LNK2001:未解析的外部符号__imp__vsnprintf

d:\ Tools \ graalvm-ce-Java 8-20 . 0 . 0 \ bin \ hello world . exe:致命错误LNK1120: 7未解析的外部

这些似乎都与最基本的函数调用printf直接相关。

我查看了<code>本机映像--shared或<code>--static,但没有骰子。其他本机映像命令行选项看起来都不相关。

我进一步尝试从同一命令提示符的VS2015版本开始。不。

所以我被困住了。除了获取格拉尔夫姆的来源并破解它之外,我还能解决这个问题吗?

共有1个答案

严修诚
2023-03-14

我从GraalVM的Java8版本切换到他们的Java11版本,gu install native-image,现在我的helloworld从前面提到的VS2017命令提示符转换为本机图像就好了。

 类似资料:
  • 我正在尝试使用GraalVM为spring cloud gateway构建本机映像。我已经成功构建了一个可以启动的本机映像,但在第一个http请求时,我出现了以下错误: 添加此标志没有帮助 并在反射配置中添加一个条目,不是吗 该项目可以在这里找到:https://github.com/hanouard/demo-native-gateway 你知道是什么导致了这个错误吗?

  • 我正在尝试用Dockers创建一个GraalVM本地映像。我已经创建了一个Micronaut项目,并成功创建了jar应用程序,并在docker中运行;此外,我已经用这个jar文件创建了一个GraalVM本机映像,现在可以运行这个应用程序,但我需要在docker中运行一个GraalVM本机映像,在论坛中寻找答案。我发现有必要在docker中构建本机映像。因此我尝试了这个docker文件: 它不会抛出

  • 我在这里将Micronaut应用程序作为Graalvm本地映像进行试用。

  • 失败:生成失败,出现异常。 错误:执行任务“:QuarkusBuild”失败。Io.Quarkus.Builder.BuildException:生成失败:由于错误导致生成失败[error]:生成步骤Io.Quarkus.Deployment.Pkg.Steps.NativeImageBuildStep#Build引发异常:java.lang.RuntimeException:未能在io.Quar

  • 在哪里可以找到使用 -H:配置文件目录设置的 GraalVM 配置文件的文档/模式

  • 亲爱的,我下面的原生图像构建教程由Quarkus创建原生graalvm,但我得到了下面的错误: 我的环境:OS:CentOS 7 Quarkus:0.11.0 Java:Open JDK 1.8.0_181 GraalVM:1.0.0-rc13 使用quarkus在你的应用程序中没有主要方法,但如何使用graal原生图像使其工作?