c++ - MSVC : Unresolved external symbol "__imp_JNI_GetCreatedJavaVMs"

标签 c++ unresolved-external

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) { ... }

我在 VC++ 目录中包含了每个 lib 文件夹,我也试过把 jvm.lib在同一个目录中并通过 pragma 注释链接它:#pragma comment(lib, "jvm.lib") 但似乎没有任何作用。 :/ 我可能一开始就看错了文件吗?我试过其他人,比如 jawt.lib

编辑:我从 #include <jvmti.h> 得到函数但没有对应的.lib.dll文件。每个类似的功能都来自 jvm,所以如果不是那个,那是哪个?我迷路了。

最佳答案

糟糕,我认为它适用于 32 位和 64 位应用程序,但似乎它只适用于 32 位应用程序。 (当时使用的是 32 位 JDK 安装,我在匆忙中没有意识到这一点。)

关于c++ - MSVC : Unresolved external symbol "__imp_JNI_GetCreatedJavaVMs",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50219444/

相关文章:

c++ - 什么是 undefined reference /未解析的外部符号错误以及如何修复它?

c++ - 实现重载运算符时出错 "+"

c++ - 为什么 struct with auto_ptr 和显式析构函数无法交换

c++ - 什么是 undefined reference /未解析的外部符号错误以及如何修复它?

C++ LNK2019 未解析的外部符号 stdlib

c++ - 什么是 undefined reference /未解析的外部符号错误,我该如何解决?

c++ - 如何在 Travis CI 中使用最新的 Boost 版本

c++ - linux "rename"函数调用是否会阻塞,直到复制(当源和目标位于不同磁盘时)完成

c++ - opencv HoughCircle 和 trackbar

c++ - 将指向对象的指针传递给 dll