Основная ошибка компоновщика собственного изображения GraalVM - PullRequest
0 голосов
/ 09 апреля 2020

Я пытаюсь создать простой нативный образ hello world, используя graalVM v20.0.0 CE.

Изначально я получал ошибку "native toolchain", но запустил командную строку из "x86". Командная строка Native Tools для VS2017 ", я преодолел это препятствие.

Теперь проблема заключается в строке ошибок компоновщика:

java .lib (jni_util.obj) : ошибка LNK2019: неразрешенный внешний символ __imp_fprintf, на который ссылается функция JNU_PrintString

java .lib (jni_util.obj): ошибка LNK2019: неразрешенный внешний символ __imp ___ iob_fun c на 1010

ссылка на функцию JNU_R 1041 * .lib (net_util_md.obj): ошибка LNK2019: неразрешенный внешний символ __imp_sprintf, на который ссылается функция NET_ThrowNew

net .lib (net_util_md.obj): ошибка LNK2019: неразрешенный внешний символ __imp_printd ссылка на ссылку 1014 *

jvm.lib (JvmFuncs.obj): ошибка LNK2019: неразрешенный внешний символ __imp_vfprintf, на который ссылается функция jio_vfprintf

jvm.lib (JvmFuncs.obj): ошибка LNK2019: неразрешенный внешний символ __imp_vsnprintf, на который ссылается функция jio_vsnprintf

MSVCRT.lib (vsnprintf.obj): ошибка LNK2001: неразрешенный внешний символ 10 * nf * *

MSVCRT.lib (vsnprintf.obj): ошибка LNK2001: неразрешенный внешний символ __imp__vsnprintf

D: \ Tools \ graalvm-ce-java8-20.0.0 \ bin \ helloworld.exe: фатальная ошибка LNK1120: 7 неразрешенные внешние данные

Все это, похоже, напрямую связано с большинством базовых c вызовов функций printf.

. Я просмотрел параметры командной строки native-image и надеялся, что явно указав --shared или --static, можно добиться цели, но без кубиков. Ни одна из других опций командной строки собственного изображения не выглядела уместной.

Я также попытался начать с версии той же командной строки VS2015. Нет.

Так что я застрял. Это что-то, что я могу исправить, не взяв источник graalvm и не взломав его?

1 Ответ

0 голосов
/ 10 апреля 2020

Я переключился с Java 8 сборки GraalVM на их Java 11 сборки, gu install native-image, и теперь мой helloworld преобразован в собственное изображение просто отлично, когда это делается из вышеупомянутой командной строки VS2017.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...