Bonjour tous le monde,
Je veux utiliser JNA pour faire mon wrapper java,
Pour faire ceci, il faut chargé la librairie partagée que j'ai généré quand j'ai compilé mon code C, 'libMy-lib1.so'.
Voici mon code:
mais si je compile ce code voici le message d'ereur qui sera affiché:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 import com.sun.jna.Library; import com.sun.jna.Native; import com.sun.jna.Platform; import com.sun.jna.Pointer; public class Test { public interface CLibrary extends Library { CLibrary INSTANCE = (CLibrary) Native.loadLibrary(("My-lib1"), CLibrary.class); void Example (String fname , int max_size); } public static void main(String[] args) { String a =""; int b=0; CLibrary.INSTANCE.Example(a,b); } }
Je pense que j'ai besoin aussi de charger une autre librairie, càd charger "My-lib1" et "My-lib2"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Exception in thread "main" java.lang.UnsatisfiedLinkError: Unable to load library 'My-lib1': libMy-lib1.so: undefined symbol: WFile at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:127) at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:170) at com.sun.jna.Library$Handler.<init>(Library.java:123) at com.sun.jna.Native.loadLibrary(Native.java:255) at com.sun.jna.Native.loadLibrary(Native.java:241) at My-lib1s$CLibrary.<clinit>(Test.java:34) at My-lib1.main(Test.java:86)
Svp, quelqu'un a une idéé sur comment faire pour que je puisse travaillé avec les deux librairies?
Merci d'avance.
Partager