Mam projekt Androida napisany w C++ i mam problem z połączeniem. Kod jest umieszczany w niektórych statycznych bibliotekach, które powinny być ze sobą połączone.Android: Jak poprawnie połączyć moje własne biblioteki statyczne?
Znalazłem wiele pytań i odpowiedzi w Internecie na ten temat i większość z nich sugeruje umieszczenie moich bibliotek na LOCAL_STATIC_LIBRARIES
w pliku Android.mk. Ale, jeśli to zrobię, stwierdziłem, że treść LOCAL_STATIC_LIBRARIES
jest po prostu ignorowana: moje biblioteki nie są połączone, a dodanie tutaj dowolnego fikcyjnego tekstu nie generuje żadnego błędu ani komunikatu ostrzegawczego.
Próbowałem to w ten sposób:
LOCAL_STATIC_LIBRARIES := MyLib.a
lub z pełną ścieżką:
LOCAL_STATIC_LIBRARIES := $(LOCAL_PATH)/MyLib.a
żaden z nich nie pracował.
Jeśli umieściłem moje biblioteki statyczne na LOCAL_LDLIBS
, to jest połączone, ale otrzymałem komunikat ostrzegawczy o bibliotekach niesystemowych i prawdopodobnie kompilacja będzie niepoprawna.
Zawartość moim pliku Android.mk jest:
LOCAL_LDLIBS := $(LOCAL_PATH)/MyLib.a ...
i mam komunikat:
Android NDK: WARNING:jni/Android.mk:myapp: non-system libraries in linker flags: jni/MyLib.a
Android NDK: This is likely to result in incorrect builds. Try using LOCAL_STATIC_LIBRARIES
Android NDK: or LOCAL_SHARED_LIBRARIES instead to list the library dependencies of the
Android NDK: current module
nie mogłem znaleźć sposobu korzystania LOCAL_STATIC_LIBRARIES
właściwą drogę, proszę mi pomóc!
Mam Android NDK-R9 i Android-x86 sdk_r22.2.1 na openSUSE i stosując target = Android 18
cześć nie można rozwiązać problemu ?? bo ja też mam takie samo. Jeśli możesz mi pomóc /// –