Pergunta

Estou tentando construir Dschaefer Android-box2d, e seguiu a receita. Eu recebo esse erro ao tentar construir o TestBox2D com o Eclipse:


Make All /cygdrive/c/android/android-ndk-r3/build/prebuilt/windows/arm-eabi-4.2.1/bin/arm-bi-ld -nostdlib -shared -bsymbolic -no-undefined -- o obj/libest.so obj/test.o -l ../ box2d/lib/android -lbox2d -l/cygdrive/c/android/android-ndk-r3/build/plataforms/android-3/arch-armar /usr/lib -llog -lc -lstdc ++-lm /cygdrive/c/android/android-ndk--r3/build/prebuilt/windows/arm-ebi-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-bi-ld: não é possível encontrar -lbox2d make: *** [obj/libest.so ] Erro 1


A única coisa que mudei foi no testbox2d makefile, onde mudei o caminho para o NDK.

Há outros que têm o mesmo problema AQUI Mas eu não sei como consertar.

Foi útil?

Solução

O erro indica que o vinculador não pode encontrar o Box2D da biblioteca.

O que eu acho que é o problema é que você tem um caminho relativo apontando para a localização da biblioteca Box2d (-L../box2d/lib/android). Se o seu diretório de compilação mudar, sua construção quebrará. O que você pode querer fazer é substituir um caminho absoluto para a biblioteca Box2D (como -L/cygdrive/c/box2d/lib/android). Todos os seus outros caminhos de link para o NDK são absolutos.

Uma maneira melhor seria colocar o caminho para a sua biblioteca Box2D em uma variável de ambiente e usar essa variável de ambiente no seu Makefile.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top