0
我有一個來自Android的OpenCV端口的make文件。由於這個項目看起來相當死亡,所以沒有任何更新,最後支持的NDK版本是4b。有了這個NDK版本,所有編譯工作都可以找到,代碼也可以工作。但是,如果我使用更新版本構建它,我會得到以下錯誤。來自NDK 5b的ld.exe無法找到庫
C:/Android/NDK/toolchains/arm-linux-androideabi-4.4.3/prebuilt/windows/bin/../lib/gcc/arm-linux-androideabi/4.4.3/../../../../arm-linux-androideabi/bin/ld.exe: cannot find -lcxcore
collect2: ld returned 1 exit status
make: *** [/cygdrive/c/Users/<Name>/workspace/<Project>/obj/local/armeabi/libopencv.so] Error 1
我認爲這是由這一行造成的:
LOCAL_LDLIBS := -L$(SYSROOT)/usr/lib -ldl -llog \
-L$(TARGET_OUT) -lcxcore -lcv -lcvaux -lcvml -lcvhighgui
然而,當我檢查,其中$(TARGET_OUT)點,看看圖書館是存在的,它是可用的。我認爲問題是我得到一個libcxcore.a文件,並且可能需要一個libcscore.so文件才能使其工作。但我不確定。
從我在互聯網上發現,它似乎像鏈接器可能會導致許多原因的問題,我真的想知道這可能是這種情況,因爲代碼本身工作得很好。我希望有人能告訴我如何更改我的make文件,以便它可以與更新的NDK一起使用,或者指向我尋找問題的方向。
聽起來不錯,但我必須承認我沒有這個項目,也沒有時間來測試這個。這似乎是這些典型的愚蠢的事情之一,可能會導致它: - / – Pandoro 2012-11-14 21:34:29