MSVC:未解析的外部符号" __ imp_JNI_GetCreatedJavaVMs"

时间:2018-05-07 17:21:15

标签: 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 comment(lib, "jvm.lib") 但似乎没有任何工作。 :/ 我可能会开始查看错误的文件吗?我也试过像jawt.lib这样的人。

编辑:我从#include <jvmti.h>获取了该功能,但没有相应的.lib.dll文件。每个类似的功能都来自于jvm,所以如果它不是那个,那是哪一个呢?我输了。

1 个答案:

答案 0 :(得分:0)

我的不好,我认为它适用于32位和64位应用程序,但似乎它只适用于32位应用程序。 (正在使用32位JDK安装,并且在我的仓促中我没有意识到这一点。)