- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我是 JNI 新手,我正在遵循一个简单的 hello 词示例,但我不断收到错误 UnsatisfiedLinkError
。我究竟做错了什么?这是我的 .h 文件:
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class JNITEST_jnihellonative */
#ifndef _Included_JNITEST_jnihellonative
#define _Included_JNITEST_jnihellonative
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: JNITEST_jnihellonative
* Method: hellofromc
* Signature: ()V
*/
JNIEXPORT void JNICALL Java_JNITEST_jnihellonative_hellofromc(JNIEnv *,jobject);
#ifdef __cplusplus
}
#endif
#endif
.c 文件
#include <jni.h>
#include<stdio.h>
#include<windows.h>
#include "jnihellonative.h"
JNIEXPORT void JNICALL
Java_JNITESTS_jnihellonative_hellofromc(JNIEnv *env, jobject obj){
printf("Hello World");
return;
}
java主类
package JNITEST;
public class Jnihello {
public static void main(String[] args) {
jnihellonative jniprint = new jnihellonative();
jniprint.hellofromc();
}
}
java类
package JNITEST;
public class jnihellonative {
public native void hellofromc();
static{
System.load("C:\\Users\\Kevin\\Documents\\NetBeansProjects\\JniHelloTest.dll");
}
}
我不断收到此错误
Exception in thread "main" java.lang.UnsatisfiedLinkError: JNITEST.jnihellonative.hellofromc()V
at JNITEST.jnihellonative.hellofromc(Native Method)
at JNITEST.Jnihello.main(Jnihello.java:19)
Java Result: 1
BUILD SUCCESSFUL (total time: 1 second)
我尝试使用 System.load() 和 System.loadLibrary() 但遇到同样的错误。
最佳答案
自从生成 .h 文件并编写 .c 文件以来,您已经更改了类的名称。 .h 文件具有 jnihellonative
,您的 Java 代码具有 Jnihello
。
I have tried using System.load() and System.loadLibrary()
无关紧要。您不会从其中任何一个中获得异常,而是在调用 native 方法时获得异常。
关于java - JNI 不满意链接错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28531495/
在 Spring Boot 应用程序(v. 1.3.2)中,我尝试使用 jOOQ 生成所有映射数据库表的 POJO,以便它们也被注释为与 JPA 一起使用。数据库是 PostgreSQL。 问题在于
我有一些非常标准的代码,它从一个流中获取一个序列化对象,它基本上看起来像这样: Object getObjectFromStream(InputStream is) { ObjectInpu
在我的 Node.js 代码上运行 JSLint 时,它显示 “'Uint8Array' was used before it was defined 。” Mozilla reference将其置于
我在 Xcode6、beta 6 左右创建了一个项目(今天升级到 b7)。使用 Swift,一直在为 iOS 8 SDK 等开发。 到目前为止,Storyboard 有两个 View Controll
我是一名优秀的程序员,十分优秀!