2011-06-17 3 views
0

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 :

  1. Le projet lui-même est placé à D:/Projets/mobile/espace/
  2. Boost (version réduite) est placé à D:/Projects/mobiles/espace/Mesf/JNI/outils
  3. Le fichier simple "mesf.cpp" contient le #include et le fichier est placé dans D:/Projets/mobile/espace/Mesf/jni/
  4. D: /Projects/mobile/workspace/mesf/jni/Application.mk maintient le APP_STL d'entrée: = gnustl_static
  5. D:/Projets/mobile/espace/mesf/jni/Android.mk contient l'entrée ** LOCAL_CFLAGS + = -I $ (LOCAL_PATH)/tools/ pour le chemin boost. **
  6. 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.
  7. 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
  8. Mais si je change de LOCAL_CFLAGS + = -Ijni/outils/ #include pour les travaux de boost!
  9. 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 **
  10. 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?

Répondre

1

C'était une erreur de projet! J'ai configuré un nouveau projet avec (ndk-5c) incluant tout le contenu source de l'ancien projet, et maintenant ça marche!

Questions connexes