LibusbJava

libusb for Java

User Tools

Site Tools


building:start

This is an old revision of the document!


Building

The dll (from C sources) and jar-file (from java sources) must be built separately. Checkout from https://gitlab.ost.ch/tech/inf/public/libusb-java.

Java Part

In Eclipse with Plugin Development capability:

  • File → Import → Existing Projects into Workspace
  • Browse → LibusbJava_Java
  • Finish
  • Export → jar file

Falls Änderungen an Libusb.java gemacht wurden, muss das Headerfile für die libusbJava_C Bibliothek neu erstellt werden.

  • Project → Build All

Konsole öffnen und zum bin-Ordner im aktuellen Java Workspace wechseln. Unter Windows folgenden command ausführen:

"Pfad zu aktuellem JDK\bin\javah.exe" ch.ntb.inf.libusb.Libusb

Für Linux:

$javah ch.ntb.inf.libusb.Libusb

Anmerkung: javah wurde bei neuern JDKs durch javac -h ersetzt. Es ist darauf zu achten, dass javac den PFad zur .java Datei und nicht den class name. Dementsprechend muss dieser Befehl auch im src und nicht im bin Ordner ausgeführt werden.

javac -h . ch\ntb\inf\libusb\Libusb.java

Das generierte Headerfile nun nach LibusbJava_C kopieren kopieren.

C++ Code

  • Eclipse C starten
  • File → Import → Existing Projects into Workspace
  • Browse → LibusbJava_C
  • Finish

Windows

MinGW installieren: MinGW Sourceforge

  • Architektur auswählen
  • für Threads “Win32” auswählen
  • next
  • installieren und finish

CMake:

  • cmake gui starten
  • Bei source code Pfad zu LibusbJava_C eintragen
  • Bei build the binaries: Pfad zu ./build (32 oder 64)
  • Configure → MinGW Makefile auswählen und bestätigen
  • Configure
  • Generate

Rechtsklick auf Projekt:

  • Properties → C/C++ Build → Settings
  • Unter GCC C++ Compiler → Includes → Include Paths → Add
    • C:\Program Files\Java\jdk1.x.x_xxx\include
    • C:\Program Files\Java\jdk1.x.x_xxx\include\win32
  • Unter MinGW C++ Linker → Libraries
    • Libraries → Add
      • libusb-1.0
    • Library search path → Add
      • ${workspace_loc:/${ProjName}/libusb/x64/dll}
  • Änderungen am Code vornehmen
  • Rechtsklick auf Projekt → Build Project
  • Alternativ: mit der Konsole zum Ordner → libusbJava_C/build64 wechseln
    • C:\Program Files\minGW_w64\x86_64-VERSION\mingw64\bin\mingw32-make.exe"
    • Je nach Kompiler könnte es beim Cast von bool zu jboolean Probleme geben
  • Erstellte .dll kopieren nach
    c:\Windows\System32

Linux

  • Änderungen machen
  • Bash zu LibusbJava_C Ordner
  • g++ -shared -o libLibusbJava-"VERSION".so -fPIC LibusbJava.cpp -I"/usr/lib/jvm/java-"JAVA-VERSION"-openjdk-"ARCHITECTURE"/include" -I"/usr/lib/jvm/java-"JAVA-VERSION"-openjdk-"ARCHITECTURE"/include/linux" -I"./" -std)c++0x
  • Erstellte .so nach /usr/lib kopieren (oder symlink)
building/start.1655475563.txt.gz · Last modified: 2022/06/17 16:19 by ursgraf