graalVM v20.0.0 CE を使用して、Hello World のシンプルなネイティブ イメージを作成しようとしています。
最初は「ネイティブ ツールチェーン」エラーが発生していましたが、「VS2017 の x86 ネイティブ ツール コマンド プロンプト」からコマンド ラインを起動したところ、そのハードルを超えました。
問題は、一連のリンカー エラーです。
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: 関数 jio_vfprintf で参照されている未解決の外部シンボル __imp_vfprintf
jvm.lib(JvmFuncs.obj): エラー LNK2019: 関数 jio_vsnprintf で参照されている未解決の外部シンボル __imp_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 未解決の外部
これらはすべて、関数呼び出しの最も基本的なprintf
.
native-image
のコマンド ライン オプションを確認し、明示的に設定する--shared
か--static
、そのトリックを実行することを望んでいましたが、ダイスはありませんでした。その他のネイティブ イメージ コマンド ライン オプションはどれも関連していないように見えました。
さらに、同じコマンド プロンプトの VS2015 バージョンから起動してみました。いいえ。
だから私は立ち往生しています。これは、graalvm のソースを取得して、それをクラックする以外に修正できるものですか?