将 JNI 链接到 Visual Studio 2008

Posted

技术标签:

【中文标题】将 JNI 链接到 Visual Studio 2008【英文标题】:Linking JNI to visual studio 2008 【发布时间】:2011-12-31 13:38:34 【问题描述】:

我正在尝试在 C++ 应用程序中使用 JNI。 我包括 jni.h 并尝试调用 JNI_CreateJavaVM 但我不断收到: 关于此功能的“未解决的外部错误”。 我链接到: "C:\Program Files\Java\jdk1.7.0\lib\jvm.lib" "C:\Program Files\Java\jdk1.7.0\lib\jawt.lib"

但它没有帮助。 我错过了什么?

【问题讨论】:

您正在链接到正确的库。错误是链接器错误,上面写着:Unresolved external symbol _JNI_CreateJavaVM(注意前导 _)?如果是,那么您的声明中可能缺少 __stdcall:检查以确保 jni_md.h 包含在 jdk1.7.0\include\win32 中。 确切的错误是:函数中引用的未解析的外部符号__imp__JNI_CreateJavaVM@12 ... 【参考方案1】:

知道了! 我试图将我的 32 位应用程序与 64 位 Java 库链接。 下载 32 位 JDK 并链接到它解决了问题:)

【讨论】:

以上是关于将 JNI 链接到 Visual Studio 2008的主要内容,如果未能解决你的问题,请参考以下文章

将 .lib 库链接到 Visual Studio 中的项目

将数据库 sql server 2008 链接到 Visual Studio 2010

将 C++ 应用程序从 Visual Studio 2010 升级到 2013 时出现链接器错误。

链接到 Visual Studio 动态库

如何在 Visual Studio 中静态链接 FreeType2?

将 xmllite.lib 添加到 Visual Studio 2008