J'ai lu toutes les documentations ndk importantes dans le fichier Android.mk et je ne peux pas trouvé des informations sur mon problème.
Informations pour l'environnement: Windows XP (SP3), Cygwin> 1.7, Eclipse 3.6.2, Sequoyah Prise en charge native, NDK-5c, sdk-11, ADT-11
Je vais donner une petite illustration :
- Le projet lui-même est placé à D:/Projets/mobile/espace/
- Boost (version réduite) est placé à D:/Projects/mobiles/espace/Mesf/JNI/outils
- Le fichier simple "mesf.cpp" contient le #include et le fichier est placé dans D:/Projets/mobile/espace/Mesf/jni/
- D: /Projects/mobile/workspace/mesf/jni/Application.mk maintient le APP_STL d'entrée: = gnustl_static
- D:/Projets/mobile/espace/mesf/jni/Android.mk contient l'entrée ** LOCAL_CFLAGS + = -I $ (LOCAL_PATH)/tools/ pour le chemin boost. **
- Sans le boost spécifique inclus, il compile avec succès et le code source (comme objet partagé) est débuggable sur le téléphone cible à distance.
- La sortie de la console après l'exécution NDK-build: ...- I/cygdrive/d/Projets/mobile/espace/Mesf/JNI/outils/-fexceptions -frtti -DBOOST_THREAD_LINUX -DBOOST_HAS_PTHREADS -D_ bras _ -D_REENTRANT -D_GLIBCXX__PTHREADS -DBOOST_HAS_GETTIMEOFDAY -Wa, - noexecstack -fexceptions -frtti -O0 -g
- Mais si je change de LOCAL_CFLAGS + = -Ijni/outils/ #include pour les travaux de boost!
- La sortie de la console après l'exécution NDK-construction: ** - Ijni/outils/-fexceptions -frtti -DBOOST_THREAD_LINUX -DBOOST_HAS_PTHREADS -D_ bras _ -D_REENTRANT -D_GLIBCXX__PTHREADS -DBOOST_HAS_GETTIMEOFDAY -Wa, - noexecstack -fexceptions -frtti -O0 -g **
- Nous pouvons voir sur la sortie consolde que le chemin a changé de -I/cygdrive/d/Projets/mobile/espace de travail/mesf/jni/tools/à -Ijni/tools/
La méthode recommandée de google est LOCAL_CFLAGS + = -I $ (LOCAL_PATH)/tools/(AFAIK), mais cela ne fonctionne pas!
Ma question, c'est un bogue ndk-build, cygwin ou Sequoyah ou une erreur d'une variable de chemin non définie de ma part?
Quelqu'un a-t-il une idée?