Android NDK et pthread
Je suis la compilation de Qt/C++ projet avec android NDK autonome de la chaîne. J'ai créé autonome outils avec make-standalone-toolchain.sh --arch=arm --de la chaîne d'=arm-linux-androideabi-4.9 --=plate-forme android-21 commande. NDK version est android-ndk-r10e. Projet cible utilise certaines fonctions de bibliothèque pthread. Au moment de la compilation, j'obtiens l'erreur suivante:
error: 'pthread_getaffinity_np' was not declared in this scope
const int err = pthread_getaffinity_np(_pthreadId, sizeof(cpu_set_t), &cpuSetMask);
compilation terminated due to -Wfatal-errors.
J'ai vérifié l'en-tête de pthread inclus dans ndk de la chaîne et je n'ai pas trouvé la déclaration de pthread_getaffinity_np fonction.
Est pthread fonctionnalité pour Android limitée? Comment utiliser pthread avec Android NDK correctement?
Comme l'a souligné ici ainsi que manuel: Ces fonctions sont non standard GNU extensions; d'où le suffixe "_np" (non portables) dans les noms de. Bionic a apparemment aucun appui (voir aussi le NDK documentation qui contient un Bionic Bibliothèque C vue d'ensemble avec des précisions concernant les pthread mise en œuvre et de la limitation).
Il est vrai que @deltheil dit. Ma solution est que je n'utilise pas les fonctionnalités des pthreads. Je suis arrivé à ce avec compilation conditionnelle, parce que, sur le système Android, j'ai quand-même de ne pas utiliser le filetage de la fonctionnalité.
Il est vrai que @deltheil dit. Ma solution est que je n'utilise pas les fonctionnalités des pthreads. Je suis arrivé à ce avec compilation conditionnelle, parce que, sur le système Android, j'ai quand-même de ne pas utiliser le filetage de la fonctionnalité.
OriginalL'auteur sdomen | 2015-06-12
Vous devez vous connecter pour publier un commentaire.
Is pthread functionality for Android limited?
Autant que je sache, Oui.
http://mobilepearls.com/labs/native-android-api/#pthreads
Le lien est mort. Je suis aussi confronté à un problème similaire. S'il vous plaît aider.
OriginalL'auteur Kazuki Sakamoto
Threads POSIX (pthreads) ne semble pas être prévu pour -hôte construire des modules.
au moins, ici, est l'erreur pour les libcrypto-module hôte de construire:
et le seul moyen pour résoudre ce problème pour l'instant est à ajouter -lpthread à l'intérieur
externe/boringssl/Android.mk avant que la directive:
exemple:
OriginalL'auteur Oleg Kokorin