将 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 时出现链接器错误。