RED: test bridge Java
GreG31-Jan-2014/10:32:17+1:00
Mes débuts avec RED. J'ai bien réussi le Hello World.
Par contre, je voulais tester le bridge Java.
J'ai bien réussi à créer ma lib:
>> do/args %red.r "-dlib -v 0 %bridges/java/hello.red -o %../bridges/java/hello"
Script: "Red command-line front-end" (none)

-=== Red Compiler 0.4.1 ===-

Compiling /c/persokeyfull/red/red-master/red-master/bridges/java/hello.red ...
...compilation time:     187 ms

Compiling to native code...
Script: "Red/System PE/COFF format emitter" (none)
...compilation time : 8377 ms
...linking time     : 187 ms
...output file size : 274432 bytes
...output file      : c:\persokeyfull\red\red-master\red-master\hello.dll


Mais lors du test via Java, j'ai cette erreur:
java bridge
Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\persokeyfull\red\red-master\red-master\bridges\java\hello.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
        at java.lang.ClassLoader.loadLibrary1(Unknown Source)
        at java.lang.ClassLoader.loadLibrary0(Unknown Source)
        at java.lang.ClassLoader.loadLibrary(Unknown Source)
        at java.lang.Runtime.loadLibrary0(Unknown Source)
        at java.lang.System.loadLibrary(Unknown Source)
        at bridge.<clinit>(bridge.java:7)


Si quelqu'un a une idée?
GreG31-Jan-2014/10:49:45+1:00
Tenté:
java -d32 bridge
Error: This Java instance does not support a 32-bit JVM.
Please install the desired version.


Me reste plus qu'à installé une JVM 32.
A suivre!
DocKimbel31-Jan-2014/11:29:58+1:00
L'option -o doit être placée avant le fichier source à compiler (changement récent). Donc la ligne suivante (executé depuis la racine %Red/) doit passer :

do/args %red.r "-dlib -o %bridges/java/hello %bridges/java/hello.red" 
DocKimbel31-Jan-2014/11:39:10+1:00
J'ai mis à jour les infos pour compiler l'exemple hello.red sur:

https://github.com/red/red/blob/master/bridges/java/README.md
GreG31-Jan-2014/12:00:51+1:00
Merci!
Pour le moment je galère sur l'installation d'un JDK 32 bits...
DocKimbel31-Jan-2014/12:09:37+1:00
Tu as réessayé avec le JDK 64-bit?
GreG31-Jan-2014/12:18:15+1:00
Au départ j'avais essayé avec le:
C:\Program Files (x86)\Java\jdk1.7.0_51>java -version
java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)
C:\Program Files (x86)\Java\jdk1.7.0_51>javac -version
javac 1.6.0_14


et là je viens de tester sans succés avec:

C:\Program Files (x86)\Java\jdk1.7.0_03>java -version
java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)

C:\Program Files (x86)\Java\jdk1.7.0_03>javac -version
javac 1.6.0_14
GreG31-Jan-2014/12:22:38+1:00
Le jdk1.7.0_03 vient du download:
Windows x86 (32-bit)	84.12 MB  	jdk-7u3-windows-i586.exe

depuis:
http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html
GreG31-Jan-2014/12:23:32+1:00
Quelle version as-tu utilisé?
GreG31-Jan-2014/15:13:14+1:00
Ca y est! J'ai enfin mon AWT!


Le problème était dans mon path, le java et le javac utilisés ne venaient pas du même endroit :(
Une fois ce problème corrigé, fonctionnement sans encombres!
DocKimbel31-Jan-2014/15:47:37+1:00
Cool !

Oui, ton compilo et ta JVM ne retournaient pas la même version dans ta ligne de commande plus haut.

J'ai étendu le bridge Java dans la branche Android, on peut maintenant accéder aux attributs des classes également avec java-get et java-set.

Login required to Post.


Powered by RebelBB and REBOL 2.7.8.4.2