com4j sur Windows 64 bits

J'ai téléchargé la dernière com4j pots et je suis en train de courir à travers la plus simple de leurs exemples.

Je suis sur Windows 7 64 bits et à l'aide d'une JVM 64 bits.

Lorsque je lance la commande (à partir de la com4j tutoriel):

java -jar tlbimp.jar -o wsh -p test.wsh %WINDIR%\system32\wshom.ocx

J'obtiens:

Exception in thread "main" java.lang.UnsatisfiedLinkError: com4j-amd64.dll: %1 is 
not a valid Win32 application
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
        at java.lang.ClassLoader.loadLibrary0(Unknown Source)
        at java.lang.ClassLoader.loadLibrary(Unknown Source)
        at java.lang.Runtime.load0(Unknown Source)
        at java.lang.System.load(Unknown Source)
        at com4j.COM4J.loadNativeLibrary(COM4J.java:569)
        at com4j.COM4J.<clinit>(COM4J.java:522)
        at com4j.tlbimp.driver.Lib.getLibid(Lib.java:90)
        at com4j.tlbimp.driver.Driver.addLib(Driver.java:38)
        at com4j.tlbimp.driver.Main.doMain(Main.java:123)
        at com4j.tlbimp.driver.Main.main(Main.java:56)
Exception in thread "Com4J shutdown hook" java.lang.NoClassDefFoundError: Could
not initialize class com4j.COM4J
        at com4j.COM4J$3.run(COM4J.java:476)

Le code java des extraits "com4j-amd64.dll" à côté de la jarre.

Et je suis en cours d'exécution avec un processeur Intel, il est drôle, la dll est "amd64"?
Non, il n'est pas drôle. C'est juste une façon courante de se référer à l'architecture 64 bits, intel utilise (comme amd).

OriginalL'auteur Kong | 2012-04-26