Quel est le problème avec mon maquillage fichier ?
Android.MK
foo.c
NDK-construction
Quel est le problème avec mon maquillage fichier ?
Android.MK
foo.c
NDK-construction
Nous pouvons lier une bibliothèque partagée dans Android de 3 manières différentes. En dessous de 3 cas, les lignes mentionnées devraient être ajoutés en``
Voici donc les trois façons.
Pour une raison quelconque, si 1 n’est pas travail (il n’a pas fonctionné pour moi), vous pouvez essayer ci-dessous 2 voies
Bien sûr, vous devrez également inclure `` dans votre fichier C/H.
Oui, vous avez besoin d'ajouter: LOCAL_LDLIBS := -llog
que les autres réponses/commentaires ont précisé, mais la question d'origine n'a pas précisé s'il utilise la jni de la bibliothèque: LOCAL_JNI_SHARED_LIBRARIES
ou LOCAL_REQUIRED_MODULES
.
Je peux très bien dire qu'il l'a utilisé comme: LOCAL_REQUIRED_MODULES
en raison de l' LOCAL_EXPORT_LDLIBS := -llog
dans la question... à moins que a été ajouté après une modification.
Si vous utilisez LOCAL_REQUIRED_MODULES
la bibliothèque partagée est installé dans /system/lib au lieu de l'apk, parce que c'est un module obligatoire. Par conséquent, vous aurez besoin d'ajouter LOCAL_LDLIBS := -L$(SYSROOT)/usr/lib -llog
au lieu de simplement en LOCAL_LDLIBS := -llog
de sorte que lorsque le système de construction est la construction et la liaison de la jni de la bibliothèque partagée, elle aura l' -llog
définitions à la bonne place, disponible à être construite en vertu d' $OUT/root/system/lib
. Sinon, vous continuerez à obtenir la même réponse, même si vous n'ajoutez LOCAL_LDLIBS := -llog
.
Donc, ceux qui ont commenté que l' -L
n'est pas nécessaire, et l'autre a choisi la bonne réponse, ils étaient en fait incorrect dans cette situation.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.