Verhindern, dass Funktionen aus einer statischen Bibliothek entfernt werden, wenn sie in eine gemeinsam genutzte Bibliothek eingebunden werden?

Ich habe eine statische Bibliothek, Foo, die von einer gemeinsam genutzten Bibliothek, Bar, verwendet wird. Bar ist die native gemeinsam genutzte Bibliothek, die von meiner Android-App geladen wird. Foo enthält JNI-Funktionen, die nur von Java-Code und nicht von C ++ - Code in Bar aufgerufen werden. Aus diesem Grund werden diese JNI-Funktionen aus der statischen Bibliothek (Foo) entfernt, wenn die gemeinsam genutzte Bibliothek (Bar) erstellt wird. Ich verwende derzeit eine etwas hackige Methode, um dies zu verhindern.

So gibt es in diesem Fall eine Möglichkeit, dem Compiler mitzuteilen, dass die JNI- (oder andere) Funktionen beim Verknüpfen nicht entfernt werden sollen?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage