2010-05-15 59 views
0

我試圖構建dschaefer android-box2d,並且確實遵循了配方。 我得到這個錯誤試圖用eclipse構建TestBox2d時:問題構建dschaefer/android-box2d


使所有 /cygdrive/c/android/android-ndk-r3/build/prebuilt/windows/arm-eabi-4.2。 1 /斌/臂EABI-LD \ -nostdlib -shared -Bsymbolic --no-未定義\ -o OBJ/libtest.so OBJ/test.o -L ../的Box2D/LIB /機器人-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/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 /libtest.so]錯誤1


我的確改變了唯一的辦法就是在TestBox2d \ Makefile文件在那裏我確實改變了路徑NDK。

還有一些其他人有同樣的問題HERE但我不知道如何解決它。

回答

0

該錯誤表示鏈接程序無法找到庫box2d。

我認爲問題是你有一個相對路徑指向box2d庫的位置(-L../box2d/lib/android)。如果你的構建目錄改變,你的構建將會中斷。你可能想要做的是替換box2d庫的絕對路徑(如-L/cygdrive/c/box2d/lib/android)。所有到NDK的其他鏈接路徑都是絕對的。

更好的方法是將你的box2d庫的路徑放到一個環境變量中,並在makefile中使用這個環境變量。

+0

謝謝你的工作,它導致我出現了一大堆錯誤,但這是進步;) – Qwark 2010-05-15 15:52:41