IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Entrée/Sortie Java Discussion :

[JNI] fonction non reconnue


Sujet :

Entrée/Sortie Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Août 2007
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Août 2007
    Messages : 86
    Par défaut [JNI] fonction non reconnue
    Bonjour

    pour tester JNI j'ai choisi d'essayer un programme qui appel une librairie pour écrire " Hello World", j'ai suivie toute les étape et j'ai fini par obtenir un libraire "lib.dll" qui me permettrai d'appelé cette fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    JNIEXPORT void JNICALL Java_hello_World_set
      (JNIEnv * env, jobject o){
     
    printf("Hello World!\n");
         return;
    }
    quand j'exécute l'application j'obtiens cette erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: pack.Nat.set()V
    	at pack.Nat.set(Native Method)
    quand j'ai cherché dans le forum j'ai trouvé qu'il fallait faire pour éviter le suffixe rajouter Echec lors du didacticiel JNI de Java mais même en compilant avec -Wl,--kill-at j'obtien toujour la même erreur.

    est ce que qqn saurai quoi faire?

    merci

  2. #2
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,


    Ce qui me semble pas normal, c'est que le nom de la fonction JNI ( Java_hello_World_set() ) ne correspond pas au nom de la méthode Java ( pack.Nat.set() ).

    Sauf erreur cela devrait être Java_pack_Nat_set

    a++

  3. #3
    Membre confirmé
    Inscrit en
    Août 2007
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Août 2007
    Messages : 86
    Par défaut
    j'ai enfin pu généré la librairie, normalement elle affiche "Hello World" quand j'appuie sur un bouton pourtant elle ne l'affiche que quand je ferme la fenêtre.

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
     
    public class Acc {
     
    	private JFrame frame;
     
    	/**
             * Launch the application
             * @param args
             */
    	public static void main(String args[]) {
    		EventQueue.invokeLater(new Runnable() {
    			public void run() {
    				try {
    					Acc window = new Acc();
    					window.frame.setVisible(true);
    				} catch (Exception e) {
    					e.printStackTrace();
    				}
    			}
    		});
    	}
     
    	/**
             * Create the application
             */
    	public Acc() {
    		createContents();
    	}
     
     
    	/**
             * Initialize the contents of the frame
             */
    	private void createContents() {
    		frame = new JFrame();
    		frame.setBounds(100, 100, 368, 246);
    		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     
    		final JPanel panel = new JPanel();
    		frame.getContentPane().add(panel, BorderLayout.CENTER);
     
    		final JButton button = new JButton();
    		button.addActionListener(new ActionListener() {
    			public void actionPerformed(final ActionEvent arg0) {
    				Nat.set();
    			}
    		});
     
    		button.setText("New JButton");
    		panel.add(button);
    	}
     
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    package pack;
     
    public class Nat {
     
    	static {		
    		System.loadLibrary( "libtst" );	
    	}
     
    	public static final native void set();
    }

Discussions similaires

  1. [histc][numel] Fonctions non reconnues
    Par yvesleb dans le forum MATLAB
    Réponses: 8
    Dernier message: 02/04/2007, 19h05
  2. [SOAP][PHP] WSDL, Fonction non reconnue
    Par zevince dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 18/01/2007, 11h17
  3. Réponses: 5
    Dernier message: 26/01/2006, 15h13
  4. [LDAP] Fonctions non reconnues
    Par Wormus dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 10/01/2006, 13h46
  5. [Configuration] Installation de PHP + Pbm de fonctions non reconnues
    Par BARBIER dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 12
    Dernier message: 23/11/2005, 10h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo