Visual C++ Error: LNK2019, LNK2028 and LNK1120
Visual C++ Error: LNK2019, LNK2028 and LNK1120
我正在开发一个基本的应用程序,用于创建Java VM并使用JNI从c++启动Java程序。但是,我有一些编译错误:
Error 6 error LNK2028: unresolved token (0A00000D) "extern "C" long __stdcall JNI_CreateJavaVM(struct JavaVM_ * *,void * *,void *)" (?JNI_CreateJavaVM@@$$J212YGJPAPAUJavaVM_@@PAPAXPAX@Z) referenced in function "public: bool __clrcall JarLauncher::launchJar(void)" (?launchJar@JarLauncher@@$$FQ$AAM_NXZ)
Error 5 error LNK2028: unresolved token (0A00000C) "extern "C" long __stdcall JNI_GetDefaultJavaVMInitArgs(void *)" (?JNI_GetDefaultJavaVMInitArgs@@$$J14YGJPAX@Z) referenced in function "public: bool __clrcall JarLauncher::launchJar(void)" (?launchJar@JarLauncher@@$$FQ$AAM_NXZ)
Error 7 error LNK2019: unresolved external symbol "extern "C" long __stdcall JNI_GetDefaultJavaVMInitArgs(void *)" (?JNI_GetDefaultJavaVMInitArgs@@$$J14YGJPAX@Z) referenced in function "public: bool __clrcall JarLauncher::launchJar(void)" (?launchJar@JarLauncher@@$$FQ$AAM_NXZ)
Error 8 error LNK2019: unresolved external symbol "extern "C" long __stdcall JNI_CreateJavaVM(struct JavaVM_ * *,void * *,void *)" (?JNI_CreateJavaVM@@$$J212YGJPAPAUJavaVM_@@PAPAXPAX@Z) referenced in function "public: bool __clrcall JarLauncher::launchJar(void)" (?launchJar@JarLauncher@@$$FQ$AAM_NXZ)
Error 9 error LNK1120: 4 unresolved externals
帮忙吗?
看起来您没有链接jvm.lib。您通常在%ProgramFiles%Javajdk1.X.XX_XXlib
中找到它,然后您可以将它添加到链接器输入设置中。
另外,您需要在运行时加载jvm.dll(并将其添加到延迟加载的dll中)。在Windows上,您可以从注册表中获得当前位置。当前运行版本号查询"SOFTWAREJavaSoftJava Runtime EnvironmentCurrentVersion
","jvm.dll"路径查询"SOFTWAREJavaSoftJava Runtime Environment<version>RuntimeLib
"。
使用这些路径,您还可以检查系统上是否存在所需的运行时版本。
相关文章:
- C++核心准则 C35 对于接口类"A base class destructor should be either public and virtual, or protected and nonv
- 为什么C++逐位AND运算符在不同大小的操作数中表现为这样
- 为什么 Clang 不允许"and"作为函数名称?
- 位阵列上的快速AND运算
- 是否可以在 C++03 中定义'move-and-swap idiom'等效项
- BoostPython and CMake
- OpenSSL BIO and SSL_read
- Gurobi GRBModel and GRBmodel in C++
- std::visit and std::variant usage
- SHBrowseForFolder with BIF_BROWSEFORCOMPUTER and SHGetPathFr
- Directx12 and keystrokes
- different between int **arr =new int [ n]; and int a[i][j]?
- C++ getenv and setenv
- Inference pytorch C++ with alexnet and cv::imread image
- Visual Studio 2019 C++ and std::filesystem
- 保证逻辑 AND 表达式中的函数调用
- python ctypes and C++ pointers
- c++ UrlDownloadtoFile getting LNK2028-19 and LNK1120
- LNK2028 and LNK2019 errors
- Visual C++ Error: LNK2019, LNK2028 and LNK1120