Probleme passage programme java pc a mac

weeket

Membre confirmé
17 Août 2005
22
1
42
Cergy
J'ai cree un programme sous windows que je voudrais excecuter sous mac.
le probleme est que j utilise la JNI avec un fichier .dll qui ne doit pas etre reconnu sous mac. j'ai donc a chaque excecution un message d'erreur:

Exception in thread "main" java.lang.UnsatisfiedLinkError: no Mesure in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1517)
at java.lang.Runtime.loadLibrary0(Runtime.java:788)
at java.lang.System.loadLibrary(System.java:834)
at acquisition.Mesure.<clinit>(Mesure.java:39)
at Main.main(Main.java:24)
je ne sais vraiment pas quoi faire.

merci
 
Aïe... ça ne se présente pas bien :rose:

Pour obtenir le comportement souhaité, il te faut l'équivalent de ta DLL sous Mac (ou linux, d'ailleurs, c'est le même combat).

Donc:
  • As-tu les sources de ta DLL ?
  • En quel langage est-elle écrite ?
  • Qu'est-ce que cette DLL est sensée faire ? (fonctionnellement parlant)
 
En fait c est une application pour effectuer une acquisiton de mesure. Il y a donc l'interface java et la parti communication avec la carte d'acquisition qui se fait en c et la jni.

J'ai donc le fichier C, le h et le dll.

pour l instant le fichier c a ete programmé pour effectuer un signal test donc pas de communication avec la carte d'acquisition.

il y a peut etre moyen de regenerer un fichier library a partir du c?
 
En fait c est une application pour effectuer une acquisiton de mesure. Il y a donc l'interface java et la parti communication avec la carte d'acquisition qui se fait en c et la jni.

J'ai donc le fichier C, le h et le dll.

pour l instant le fichier c a ete programm&#233; pour effectuer un signal test donc pas de communication avec la carte d'acquisition.

il y a peut etre moyen de regenerer un fichier library a partir du c?

c'est quoi ta carte d'aquisition ?
es tu developpeur ? quid ?

ton probl&#233;me me semble t'il coule de source pour un developpeur
? et il trouve rapidemment la r&#233;ponse &#224; sa question en consultant
la documentation du systeme cible

communiquer from userland to a system device
ca va etre plus compliqu&#233; ... welcome to unix world et welcome to mach world ...

tu as l'habitude de g&#233;rer des devices systems sous un unix ?
:) parce que franchement si tu bloques sur une erreur concernant une jni (qui est compil&#233;e (pseudo language machine) avec un encapsulage cible compris par le noyeau / linker /loader qui est lui meme d&#233;pendant de son type de processeur
(jeux d'instructions ))

tu vas t'amuser avec le reste :)
l'erreur JNI ce n'est m&#234;me pas le million&#232;me du dessus de l'iceberg :)
 
je ne suis vraiment pas developpeur, sinon je ne poserais pas cet question.
Il y a 2 mois je n'avais jamais fais de java de ma vie alors la jni ca ne coule pas de source pour moi encore moins sur Xnote.
J'ai suivi un protocole pour le faire sur pc.
je demande juste de l'aide je vois pas pouquoi tu me dis te telles choses en employant de tel mot...
 
Arf... du Tatouille tout craché ça :rateau:

Tatouille voulait simplement te sensibiliser sur le fait que tu risques d'en baver (techniquement parlant) en te lançant dans une telle entreprise !

Disons que la virulence de ses propos souligne la disproportion entre le niveau de la question posée, et le niveau requis pour réussir à faire ce que tu cherches.


Néanmoins, ce forum est bien le bon endroit, et armé de patience et de bonne volonté, je suis certain que tu y parviendras ;).


P.S. ce qu'un âne peut faire, un autre âne peut le faire aussi

P.S.2 Tatouille, ne te sens pas visé :D
 
je cherche juste a faire un relevé de temperature avec une interface java :(.
On m'a dit d'utiliser la jni pour communiquer avec la carte.
je sais le faire sur pc ms pas sur mac.

J'ai essayé ce que tu m'as donné la derniere fois ms je n'y suis pas arrivé.
Je ne connais pas Xcode et apparament il faut que je crée un projet en reintegrant toutes mes programmes java.

Sur Pc j'utiliser labwindows pour creer la dll a apartir du fichier C et h.
 
Certes, mais sous Windows, tu avais également les drivers de ta carte qui permettaient à ta DLL C (dont tu as le code) de fonctionner.

Est-ce le cas sur mac ? (je ne le pense pas). D'où les mises en garde de Tatouille.

Concernant le code Java, s'il est bien écrit (càd portable), tu n'auras pas besoin de le recompiler. Seul le code C de ta carte sera à recompiler. Un simple Makefile peut faire l'affaire.

La carte est-elle disponible dans le commerce ?
 
Arf... du Tatouille tout craché ça :rateau:

Tatouille voulait simplement te sensibiliser sur le fait que tu risques d'en baver (techniquement parlant) en te lançant dans une telle entreprise !

Disons que la virulence de ses propos souligne la disproportion entre le niveau de la question posée, et le niveau requis pour réussir à faire ce que tu cherches.


Néanmoins, ce forum est bien le bon endroit, et armé de patience et de bonne volonté, je suis certain que tu y parviendras ;).


P.S. ce qu'un âne peut faire, un autre âne peut le faire aussi

P.S.2 Tatouille, ne te sens pas visé :D

il y avait vraiment rien d'agressif juste des interrogations pour déblayer le Terrain
et comprendre ?

il y a vraiment que les ânes qui se vexent
:D la c'est du tatouille