Pregunta

Estoy tratando de construir dschaefer android-box2d, y lo hizo seguir la receta. Yo conseguir este error al intentar construir el TestBox2d con Eclipse:


hacer toda /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 / androide -lbox2d \ -L / cygdrive / c / Android / android-NDK-R3 / build / plataformas / android-3 / arch-brazo / 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: no puede encontrar -lbox2d make: *** [obj / libtest.so] Error 1


La única cosa que no era el cambio en el TestBox2d \ Makefile donde hice cambiar la ruta de la NDK.

Hay algunos otros que tienen el mismo problema AQUÍ pero no sé cómo solucionarlo.

¿Fue útil?

Solución

El error indica que el enlazador no puede encontrar el box2d biblioteca.

Lo que creo es el problema es que usted tiene un señalador ruta relativa a la ubicación de la biblioteca Box2D (-L../box2d/lib/android). Si el directorio de construcción cambia, su construcción se romperá. Lo que es posible que desee hacer es sustituir una ruta absoluta para la biblioteca Box2D (como -L/cygdrive/c/box2d/lib/android). Todas sus otras rutas de vínculo a la NDK son absolutos.

Una mejor manera sería poner la ruta de la biblioteca de Box2D en una variable de entorno y utilizar esta variable de entorno en el archivo MAKE.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top