Ich versuche, mit der JNI-API vertraut zu werden, kann aber kein Beispiel-C ++ - Programm zum Kompilieren bekommen.
Hier ist der Befehl, den ich verwende, um zu kompilieren und darunter ist das Programm, das ich zu kompilieren versuche. Der Fehler, den ich bekomme, ist:
%Vor%Kompilieren:
%Vor%C ++:
%Vor%Ich habe nach diesem Problem gesucht und jede Lösung ausprobiert, die ich gefunden habe, aber trotzdem bekomme ich den gleichen Fehler ... Jede Hilfe wird sehr geschätzt!
EDIT: Jonis Antwort unten funktioniert (abhängig von Ihrem Compiler). Falls jemand anderes dies findet: Wenn Sie die kompilierte Ausgabe ausführen, vergessen Sie nicht LD_LIBRARY_PATH = _path_to_your_libjvm.so_ oder es wird zur Laufzeit nicht gefunden.
%Vor% Die Art, wie GCC Symbole findet, wurde vor kurzem geändert: jetzt werden die zu verknüpfenden Einheiten streng von links nach rechts abgearbeitet, und Verweise auf Bibliotheken ( -lYourLibrary
) werden stillschweigend ignoriert, wenn sie nichts in der Befehlszeile benötigen .
Um dies zu beheben, verschieben Sie -ljvm
nach den Kompilierungseinheiten, die es verwenden, z. B. bis zum Ende der Befehlszeile: