gpt4 book ai didi

java - 线程 "main"java.lang.UnsatisfiedLinkError 3 中的异常

转载 作者:太空宇宙 更新时间:2023-11-03 23:49:36 24 4
gpt4 key购买 nike

大家好,我已经尝试了所有的解决方案,比如java -Djava.library.path=.演示将 dll 路径添加到 PATHjava -Djava.library.path=c:\JNI\demo.dll 演示

但是还是上面的错误。

这是我的java代码..

class demo
{
public native void printline();
public static void main(String[]args)
{
new demo().printline();
}
}

这是我的 C 代码...

#include<stdio.h>
#include<jni.h>

#include "demo.h"

JNIEXPORT void JNICALL Java_demo_printline(JNIEnv *a, jobject b)
{
printf("Hello wrold!!!");
return;
}

编译运行步骤,

  1. javac demo.java
  2. Java 演示
  3. gcc -c -I"c:\jdk1.7.0_55\include"-I"c:\jdk1.7.0_55\include\win32"demo.c
  4. gcc -Wl,--add-stdcall-alias -shared -o demo.dll demo.c
  5. java -Djava.library.path=c:\JNI\demo.dll 演示

我哪里出错了吗?

谁能帮帮我,

最佳答案

尝试在静态 block 中的 java 代码中运行时加载 dll 文件,例如:

static
{
System.loadLibrary("demo");
}

应该给你输出。

此外,根据使用的 gcc 编译器,确保生成的 dll 文件是 x32 或 x64。

关于java - 线程 "main"java.lang.UnsatisfiedLinkError 3 中的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23864764/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com