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:
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);
    }
 }
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
 
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)
Je pense que j'ai besoin aussi de charger une autre librairie, càd charger "My-lib1" et "My-lib2"
Svp, quelqu'un a une idéé sur comment faire pour que je puisse travaillé avec les deux librairies?
Merci d'avance.