C++ Projekt (QT) in Java mit Klassen (nicht imperativ) nutzen (BridJ? JavaCPP? SWIG? JNA? JNI?)

julian-w

Mitglied
Hallo,

ich habe eine größere Bibliothek, welche QT nutzt, in C++ geschrieben. Diese Bibliothek würde ich nun auch gerne in JAVA nutzen können. Wie stell ich das am besten an? JNA, JNI, ...?

Irgendwie scheint nichts zu passen, da ich nicht einfach nur Funktionen aufrufen kann, sondern eben die Objekte brauche. Das ganze jetzt imperativ zu machen wäre ein recht großer Aufwand... 🙁

Zudem wäre es sehr praktisch wenn das ganze später unter Windows, Linux (, MacOS muss nicht) und Android laufen würde.

Was könnt ihr da empfehlen? Durch googeln bin ich noch auf "BridJ" gestoßen. Hat damit jemand Erfahrung? Oder JavaCPP, SWIG, ...?

Wäre über ein paar Tipps und etwas Praxis-Erfahrung sehr erfreut 😉

Viele Grüße
Julian
 
Zuletzt bearbeitet:
Früher haben wir mal mit JIntegra gearbeitet, das ist aber sehr teuer.

Der Funktionsumfang ist aber nicht schlecht, wenn man geschäftlich arbeitet.
JIntegra untersucht .DLLs und .EXEn auf COM Methoden und erstellt entsprechende Interfaces in Java, so dass man sich eigentlich um fast nichts mehr kümmern muss, es erspart also den langen Weg über JNI.

BridJ schaut aber ziemlich interessant aus, davon wusste ich noch nichts. Danke für den Tip 🙂
 
Früher haben wir mal mit JIntegra gearbeitet, das ist aber sehr teuer.

Danke für die Antwort 🙂 JIntegra scheint wohl genau sowas zu sein was ich brauchen könnte... leider nur viel zu teuer 🙁

Hat einer schon mal mit JBridge oder ähnlichem gearbeitet und kann was dazu sagen, wie gut das funktioniert/stabil es ist? JNI bzw. JNA fallen aufgrund der fehlenden C++ Klassen Unterstützung raus 🙁

Das ganze über Sockets oder ähnliche IPC zu machen wäre noch eine Möglichkeit, aber mit viel Overhead verbunden... 🙁
 

Zurück
Oben