Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用MinGW64的JAWT应用程序未运行_Java_Java Native Interface_Windows 7 X64_Mingw W64_Jawt - Fatal编程技术网

Java 使用MinGW64的JAWT应用程序未运行

Java 使用MinGW64的JAWT应用程序未运行,java,java-native-interface,windows-7-x64,mingw-w64,jawt,Java,Java Native Interface,Windows 7 X64,Mingw W64,Jawt,正在尝试运行JAWT/JNI应用程序 我在Windows7x64上使用jdk1.6.031。编译进展顺利,但仍无法运行应用程序。在添加JAWT_GetAWT函数之前没有问题 问题是我是C/C++编程语言的新手 Native.java 生成本机.h 应用程序给出java.lang.UnsatifiedLink错误: Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\Users\t.key\Desktop\Native\nat

正在尝试运行JAWT/JNI应用程序

我在Windows7x64上使用jdk1.6.031。编译进展顺利,但仍无法运行应用程序。在添加JAWT_GetAWT函数之前没有问题

问题是我是C/C++编程语言的新手

Native.java

生成本机.h

应用程序给出java.lang.UnsatifiedLink错误:

Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\Users\t.key\Desktop\Native\native.dll: Can't find dependent libraries
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
        at java.lang.ClassLoader.loadLibrary0(Unknown Source)
        at java.lang.ClassLoader.loadLibrary(Unknown Source)
        at java.lang.Runtime.loadLibrary0(Unknown Source)
        at java.lang.System.loadLibrary(Unknown Source)
        at Native.<clinit>(Native.java:7)
Could not find the main class: Native.  Program will exit.

请帮忙

您可以尝试一下这里提出的解决方案:

他们也在使用MinGW64,这就是为什么我认为这也可以解决您的问题

/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class Native */

#ifndef _Included_Native
#define _Included_Native
#ifdef __cplusplus
extern "C" {
#endif
/*
 * Class:     Native
 * Method:    getBoolean
 * Signature: (Ljava/awt/Component;)Z
 */
JNIEXPORT jboolean JNICALL Java_Native_getBoolean
  (JNIEnv *, jclass, jobject);

#ifdef __cplusplus
}
#endif
#endif
#include <jni.h>
#include <jawt_md.h>
#include <jawt.h>
#include "Native.h"

JNIEXPORT jboolean JNICALL Java_Native_getBoolean(JNIEnv *env, jclass class, jobject component){
    JAWT awt;
    awt.version = JAWT_VERSION_1_4;

    return JAWT_GetAWT(env, &awt);//can't run after I add this function
}
gcc -Wall -D_JNI_IMPLEMENTATION_ -Wl,--kill-at -Id:/devtools/java/jdk1.6.0_31/include -Id:/devtools/java/jdk1.6.0_31/include/win32 -LD:/devtools/java/jdk1.6.0_31/jre/bin -ljawt -shared Native.c -o native.dll  
Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\Users\t.key\Desktop\Native\native.dll: Can't find dependent libraries
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
        at java.lang.ClassLoader.loadLibrary0(Unknown Source)
        at java.lang.ClassLoader.loadLibrary(Unknown Source)
        at java.lang.Runtime.loadLibrary0(Unknown Source)
        at java.lang.System.loadLibrary(Unknown Source)
        at Native.<clinit>(Native.java:7)
Could not find the main class: Native.  Program will exit.