MSVC: неразрешенный внешний символ "__imp_JNI_GetCreatedJavaVMs" - PullRequest
0 голосов
/ 07 мая 2018

Edit2: забыл упомянуть, что я пытаюсь создать 64-битное приложение.

Мне нужна помощь здесь.

Почему-то я не могу найти способ сделать эту внешнюю работу и хорошо, прежде чем вы спросите. Я пытался вызвать LoadLibrary:

// (temp)
// Load JVM library since it's being a dork
HINSTANCE hVM = LoadLibraryA("C:\\Program Files\\Java\\jdk1.8.0_172\\jre\\bin\\server\\jvm.dll");
if (hVM == NULL) { ... }

У меня есть каждая папка lib, включенная в VC ++ Directory, я также попытался поместить jvm.lib в тот же каталог и просто связать его с помощью комментария прагмы: #pragma comment(lib, "jvm.lib") Но ничто, кажется, не делает работу. : / Может быть, я смотрю на неправильный файл для начала? Я пробовал и другие, например jawt.lib.

Редактировать: Я получаю функцию из #include <jvmti.h>, но соответствующий файл .lib или .dll отсутствует. И каждая подобная функция происходит от jvm, так что если это не та, то какая? Я потерян.

1 Ответ

0 голосов
/ 07 мая 2018

Плохо, я думал, что это работает как для 32-битных, так и для 64-битных приложений, но, похоже, работает только на 32-битных приложениях. (Использовал 32-битную версию JDK, и, спеша, я этого не понял.)

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