C++ 构建dschaefer/android-box2d时出现问题

C++ 构建dschaefer/android-box2d时出现问题,c++,android,eclipse,android-ndk,box2d,C++,Android,Eclipse,Android Ndk,Box2d,我在试着建造,并且按照配方做了。 在尝试使用eclipse构建TestBox2d时,我确实遇到了以下错误: 全部 /cygdrive/c/android/android-ndk-r3/build/prebuild/windows/arm-eabi-4.2.1/bin/arm-eabi-ld\ -nostlib-shared-b符号——无未定义\ -o obj/libtest.so obj/test.o-L../box2d/lib/android-lbox2d\ -L/cygdrive/c/an

我在试着建造,并且按照配方做了。 在尝试使用eclipse构建TestBox2d时,我确实遇到了以下错误:


全部 /cygdrive/c/android/android-ndk-r3/build/prebuild/windows/arm-eabi-4.2.1/bin/arm-eabi-ld\ -nostlib-shared-b符号——无未定义\ -o obj/libtest.so obj/test.o-L../box2d/lib/android-lbox2d\ -L/cygdrive/c/android/android-ndk-r3/build/platforms/android-3/arch-arm/usr/lib\ -llog-lc-lstdc++-lm\ /cygdrive/c/android/android-ndk-r3/build/prebuild/windows/arm-eabi-4.2.1/lib/gcc/arm-eabi/4.2.1/interwork/libgcc.a\

/cygdrive/c/android/android-ndk-r3/build/prebuild/windows/arm-eabi-4.2.1/bin/arm-eabi-ld:找不到-lbox2d make:**[obj/libtest.so]错误1


我所做的唯一更改是在TestBox2d\Makefile中,在那里我更改了NDK的路径


还有一些其他系统也有同样的问题,但我不知道如何解决。

错误表明链接器找不到库box2d

我认为问题在于,您有一个相对路径指向box2d库的位置(
-L../box2d/lib/android
)。如果生成目录发生更改,则生成将中断。您可能想做的是用一个绝对路径替换box2d库(例如
-L/cygdrive/c/box2d/lib/android
)。到NDK的所有其他链接路径都是绝对路径


更好的方法是将box2d库的路径放在环境变量中,并在makefile中使用此环境变量。

感谢您的帮助,这导致了一系列新的错误,但这是一个进步;)