我正在使用Java编写一个小应用程序。这是对现有MFC项目的重写。有一个现有的dll,我需要改变它以便可以使用JNI从Java中访问。所有这些Java东西都是新的,所以当我阅读其他论坛帖子时,我感到有些困惑和迟钝。在现有的dll中,我有一个类似这样的函数:
extern "C" __declspec(dllexport) bool Create()
{
return TRUE;
}
相当于小学生问题:如何正确地设置它以便被 Java 调用?
我尝试了这样做:
JNIEXPORT jboolean JNICALL Create()
{
return TRUE;
}
我已经包含了jni.h文件并且编译也没有问题。但是,当我从Java中调用它时,会收到UnsatisfiedLinkError的错误。我在Java中使用以下代码调用:
public static native boolean CreateSession();
System.load("D:\\JavaCallTest.dll");
Create();
能否有人把我引向正确的方向?非常感谢任何帮助。
谢谢,
Nick