Question

Je suis en train de construire dschaefer android-box2d , et a fait suivre la recette. Je reçois cette erreur en essayant de construire l'TestBox2d avec Eclipse:


faire toute /cygdrive/c/android/android-ndk-r3/build/prebuilt/windows/arm-eabi-4.2.1/bin/arm-eabi-ld \ -nostdlib -shared -Bsymbolic --no-undefined \ -o obj / libtest.so obj / test.o -L ../ box2d / lib / android -lbox2d \ -L / cygdrive / c / Applications / androïde-NDK-r3 / build / plates-formes / androïde-3 / arc-bras / usr / lib \ -llog -lc -lstdc ++ -lm \ /cygdrive/c/android/android-ndk-r3/build/prebuilt/windows/arm-eabi-4.2.1/lib/gcc/arm-eabi/4.2.1/interwork/libgcc.a \

/cygdrive/c/android/android-ndk-r3/build/prebuilt/windows/arm-eabi-4.2.1/bin/arm-eabi-ld: ne peut pas trouver -lbox2d make: *** [obj / libtest.so] Erreur 1


La seule chose que je n'étais dans le changement TestBox2d \ Makefile où je ne change le chemin du NDK.

Il y a quelques autres qui ont le même problème ICI mais je ne sais pas comment le résoudre.

Était-ce utile?

La solution

L'erreur indique que l'éditeur de liens ne peut pas trouver la bibliothèque box2d.

Ce que je pense est le problème est que vous avez un pointage de chemin par rapport à l'emplacement de la bibliothèque box2d (de -L../box2d/lib/android). Si votre répertoire build change, votre construction cassera. Ce que vous pouvez faire est de substituer un chemin absolu pour la bibliothèque box2d (comme -L/cygdrive/c/box2d/lib/android). Tous vos autres chemins de liaison au NDK sont absolus.

Une meilleure façon serait de mettre le chemin à votre bibliothèque box2d dans une variable d'environnement et d'utiliser cette variable d'environnement dans votre makefile.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top