G
Giftstachel
Gast
moinmoin.
mein neues problem betrifft mal wieder nlink, welches ich als externe bibliothek importiere
fehlermeldung:
The Source attachment does not contain the source for the file Native.class
das ganze wird aufgerufen über:
nlink ist jedoch richtig eingebunden, da ich bei
keine fehlermeldung bekomme.
(eingefügt über projekt -- properties -- libraries -- Add External Jars)
angeblich ist die bibliothek in der re stable.
auch habe ich versucht, die entsprechenden klassen manuell in alle workpath's zu kopieren. leider ohne erfolg. also das kopieren schon^^, aber er findet die class noch immer nicht.
gibts da bei eclipse irgendwelche bestimmten konventionen, die ich beachten muss?
mein neues problem betrifft mal wieder nlink, welches ich als externe bibliothek importiere
fehlermeldung:
The Source attachment does not contain the source for the file Native.class
Code:
// Compiled from Native.java (version 1.5 : 49.0, super bit)
class nlink.win32.Native {
// Method descriptor #29 ()V
// Stack: 1, Locals: 1
Native();
0 aload_0 [this]
1 invokespecial java.lang.Object() [1]
4 return
Line numbers:
[pc: 0, line: 9]
Local variable table:
[pc: 0, pc: 5] local: this index: 0 type: nlink.win32.Native
// Method descriptor #36 (Ljava/lang/String;)I
static native int loadLibrary(java.lang.String arg0);
// Method descriptor #38 ()I
static native int getLastError();
// Method descriptor #40 (I)Ljava/lang/String;
static native java.lang.String formatErrorMessage(int arg0);
// Method descriptor #42 (I[Ljava/lang/Object;[ILjava/lang/Class;I)Ljava/lang/Object;
static native java.lang.Object invoke(int arg0, java.lang.Object[] arg1, int[] arg2, java.lang.Class arg3, int arg4);
// Method descriptor #44 (II)I
static native int getProcAddress2(int arg0, int arg1);
// Method descriptor #46 (ILjava/lang/String;)I
static native int getProcAddress(int arg0, java.lang.String arg1);
// Method descriptor #29 ()V
// Stack: 4, Locals: 6
static void loadNativeLibrary();
0 ldc <String "nlink"> [2]
2 invokestatic java.lang.System.loadLibrary(java.lang.String) : void [3]
5 return
6 astore_0
7 ldc_w <Class nlink.win32.Native> [5]
10 invokevirtual java.lang.Class.getClassLoader() : java.lang.ClassLoader [6]
13 ldc <String "nlink/Const.class"> [7]
15 invokevirtual java.lang.ClassLoader.getResource(java.lang.String) : java.net.URL [8]
18 astore_0 [res]
19 aload_0 [res]
20 invokevirtual java.net.URL.toExternalForm() : java.lang.String [9]
23 astore_1 [url]
24 aload_1 [url]
25 ldc <String "jar://"> [10]
27 invokevirtual java.lang.String.startsWith(java.lang.String) : boolean [11]
30 ifeq 97
33 aload_1 [url]
34 bipush 33
36 invokevirtual java.lang.String.lastIndexOf(int) : int [12]
39 istore_2 [idx]
40 aload_1 [url]
41 bipush 6
43 iload_2 [idx]
44 invokevirtual java.lang.String.substring(int, int) : java.lang.String [13]
47 astore_3 [filePortion]
48 aload_3 [filePortion]
49 ldc <String "file://"> [14]
51 invokevirtual java.lang.String.startsWith(java.lang.String) : boolean [11]
54 ifeq 97
57 new java.io.File [15]
60 dup
61 aload_3 [filePortion]
62 bipush 7
64 invokevirtual java.lang.String.substring(int) : java.lang.String [16]
67 invokespecial java.io.File(java.lang.String) [17]
70 astore 4 [jarFile]
72 new java.io.File [15]
75 dup
76 aload 4 [jarFile]
78 invokevirtual java.io.File.getParentFile() : java.io.File [18]
81 ldc <String "nlink.dll"> [19]
83 invokespecial java.io.File(java.io.File, java.lang.String) [20]
86 astore 5 [dllFile]
88 aload 5 [dllFile]
90 invokevirtual java.io.File.getPath() : java.lang.String [21]
93 invokestatic java.lang.System.load(java.lang.String) : void [22]
96 return
97 new java.lang.UnsatisfiedLinkError [23]
100 dup
101 ldc <String "Unable to load nlink.dll"> [24]
103 invokespecial java.lang.UnsatisfiedLinkError(java.lang.String) [25]
106 athrow
Exception Table:
[pc: 0, pc: 5] -> 6 when : java.lang.Throwable
Line numbers:
[pc: 0, line: 33]
[pc: 5, line: 34]
[pc: 6, line: 35]
[pc: 7, line: 40]
[pc: 19, line: 41]
[pc: 24, line: 42]
[pc: 33, line: 43]
[pc: 40, line: 44]
[pc: 48, line: 45]
[pc: 57, line: 46]
[pc: 72, line: 47]
[pc: 88, line: 48]
[pc: 96, line: 49]
[pc: 97, line: 53]
Local variable table:
[pc: 7, pc: 7] local: t index: 0 type: java.lang.Throwable
[pc: 72, pc: 97] local: jarFile index: 4 type: java.io.File
[pc: 88, pc: 97] local: dllFile index: 5 type: java.io.File
[pc: 40, pc: 97] local: idx index: 2 type: int
[pc: 48, pc: 97] local: filePortion index: 3 type: java.lang.String
[pc: 19, pc: 107] local: res index: 0 type: java.net.URL
[pc: 24, pc: 107] local: url index: 1 type: java.lang.String
// Method descriptor #29 ()V
// Stack: 0, Locals: 0
static {};
0 invokestatic nlink.win32.Native.loadNativeLibrary() : void [26]
3 return
Line numbers:
[pc: 0, line: 26]
[pc: 3, line: 27]
}
das ganze wird aufgerufen über:
Code:
import nlink.win32.*;
import nlink.impl.*;
public class GetDataFromInterface
{
@DllClass
public interface InitTransToDll
{
@DllMethod
int InitTrans(int portnr, int intern, int irgendwas, int irgendwasanderes );
}
@DllClass
public interface Write
{
@DllMethod
int Write(int portnr, int intern, int irgendwas, int irgendwasanderes );
}
@DllClass
public interface Read
{
@DllMethod
int Read(int portnr, int intern, int irgendwas, int irgendwasanderes );
}
@DllClass
public interface Exit
{
@DllMethod
int Exit(int portnr, int intern, int irgendwas, int irgendwasanderes );
}
// public class Test {
public void init()
{
//noch nicht ganz fertig
InitTransToDll init = NLink.create(InitTransToDll.class);
System.out.println(init.InitTrans(29, 0 ,0,51));
Write write = NLink.create(Write.class);
System.out.println(init.InitTrans(29, 0 ,0,51));
Read read = NLink.create(Read.class);
System.out.println(init.InitTrans(29, 0 ,0,51));
Exit exit = NLink.create(Exit.class);
System.out.println(init.InitTrans(29, 0 ,0,51));
}
}
nlink ist jedoch richtig eingebunden, da ich bei
Code:
import nlink.win32.*;
import nlink.impl.*;
keine fehlermeldung bekomme.
(eingefügt über projekt -- properties -- libraries -- Add External Jars)
angeblich ist die bibliothek in der re stable.
auch habe ich versucht, die entsprechenden klassen manuell in alle workpath's zu kopieren. leider ohne erfolg. also das kopieren schon^^, aber er findet die class noch immer nicht.
gibts da bei eclipse irgendwelche bestimmten konventionen, die ich beachten muss?