2010-05-15 3 views
0

나는 dschaefer android-box2d을 빌드하려고 시도 중이며 제조법을 따르고 있습니다. 일식과 TestBox2d을 구축하려고 할 때 나는이 오류가 수행문제 빌딩 dschaefer/android-box2d


하는 모든 /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/android/안드로이드 -ndk-r3/빌드/플랫폼/안드로이드 -3/아치 - 암/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 : 찾을 수 없습니다. -lbox2d make : *** [obj 내가 NDK의 경로를 변경 한 경우 /libtest.so] 오류 1


내가 변화 한 유일한 것은 TestBox2d \ 메이크했다.

동일한 문제가있는 다른 사람이 있습니다. HERE하지만 수정 방법을 모르겠습니다.

답변

0

오류는 링커에서 라이브러리 상자 2d를 찾을 수 없음을 나타냅니다.

제가 생각하기에 문제는 box2d 라이브러리 (-L../box2d/lib/android)의 위치를 ​​가리키는 상대 경로가 있다는 것입니다. 빌드 디렉토리가 변경되면 빌드가 중단됩니다. 당신이 원하는 것은 box2d 라이브러리의 절대 경로를 대체하는 것입니다 (예 : -L/cygdrive/c/box2d/lib/android). NDK에 대한 다른 모든 링크 경로는 절대적입니다.

더 좋은 방법은 box2d 라이브러리의 경로를 환경 변수에 넣고이 환경 변수를 makefile에서 사용하는 것입니다.

+0

고마워요. 완전히 새로운 오류로 안내해 줬지만, 진전을 보았습니다.) – Qwark

관련 문제