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

使用GraalVM构建本机应用程序时缺少cl.exe

庄兴发
2023-03-14

我正在尝试使用GraalVM和本机映像构建本机应用程序。启动生成过程时出错。类路径中似乎缺少cl.exe。就像GraalVM网站上提到的那样,我已经安装了“GRMSDKX\u EN\u DVD.iso”(适用于Windows 7和.NET的Windows SDK)。我还尝试安装Windows SDK for Windows 10。

C:\Program Files (x86)\Microsoft Visual Studio\2019\Community>native-image -jar C:\Users\tm\Desktop\DemoGraalVM\target\Demo-1.0-SNAPSHOT.jar
[Demo-1.0-SNAPSHOT:28776]    classlist:   2,435.83 ms,  1.16 GB
[Demo-1.0-SNAPSHOT:28776]        setup:     646.59 ms,  1.16 GB
Error: Default native-compiler executable 'cl.exe' not found via environment variable PATH
Error: To prevent native-toolchain checking provide command-line option -H:-CheckToolchain
Error: Use -H:+ReportExceptionStackTraces to print stacktrace of underlying exception
Error: Image build request failed with exit status 1

我使用的是windows 10,graalvm-ce-java8-windows-amd64-20.2.0。我还运行Visual Studio Community Edition,并使用Visual Studio 2019 Developer命令提示符v16.3.1。Java应用程序是使用Maven在IntelliJ社区版中构建的。

我怎样才能解决这个问题?在哪里下载cl.exe或哪个安装包包含此文件?

共有2个答案

荆修明
2023-03-14

您需要为Microsoft Visual C设置环境。

我使用的是Visual Studio 2017,因此我必须使用:<代码>C:\Program Files(x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsx86\U amd64。bat

郑向阳
2023-03-14

很抱歉,您遇到了麻烦;希望我们能很快将其扼杀在萌芽状态
看起来您缺少一些依赖项,因此我将尽最大努力为您解决此问题。

要在Windows上构建本机GraalVM映像,需要Microsoft Visual C(MSVC)。所需的版本取决于GraalVM发行版所基于的JDK版本。

>

建议使用Microsoft Windows SDK 7.1进行安装:

  1. 从Microsoft下载SDK文件GRMSDKX_EN_DVD. iso
  2. 直接打开F:\Setup\SDKSetup.exe挂载映像。

根据GraalVM原生映像参考,您可以通过Microsoft的WindowsSDK7.1映像轻松获取此内容

对于使用Java 11的GraalVM发行版,您需要MSVC 2017 15.5.5或更高版本
除非您已经在工作流中使用了其他版本,否则我绝对建议您只使用最新版本(目前为2019年)。你可以在这里买到。

安装Visual Studio后,所有构建命令都应通过本机工具命令提示符运行。
如果您在安装Visual Studio时保留默认的开始菜单快捷方式,则可以在以下位置访问:
开始-

考虑到您的代码是有序的,使用适当的工具链将解决您的问题。如果出现任何其他问题,我鼓励您为他们发布另一个问题;祝你的项目好运!

 类似资料:
  • 我检查了直到Stage-2,本机映像运行得非常好。我包含了Stage-3来运行我的本机映像,结果出现了以下错误 需要帮助如何运行我的本机映像

  • 不确定我错过了什么?在阅读了多个博客和StackOverflow问题后,我尝试将内存增加到Xmx12G,但没有成功。我不断得到msg来增加内存。最近有没有人面临这个问题,它已经解决了吗?这只是直接从夸克网站下载的普通应用程序。

  • 我正在尝试使用grails教程将我的应用程序连接到共享数据库5MB。我使用的是grails 2.1.0。在我的本地机器上,当我运行heroku配置时,我可以看到DATABASE_URL被设置了,但是在执行git push之后······我的生成因错误而停止: 因此,我添加了日志记录,以查看Heroku上的环境。我已将println system.env添加到datasource.groovy中,但

  • 我尝试使用Quarkus制作一个原生应用程序,但当我构建它时,它冻结了: > 我在Manjaro linux下,用github存储库安装了graalvm。

  • 我试图使用<code>原生映像maven插件

  • 我正在使用GraalVm 21.0.0.2的native-image-maven-plugin为JavaFX应用程序创建一个本机映像。当我尝试在构建成功结束后执行它时,我得到以下错误: 我很感激你能给我的任何帮助。