2011-05-16 61 views
0

我正在嘗試在ubuntu 11.04上的仿真器上編譯和運行vlc android應用程序。當我在仿真器上運行android ndk應用程序時無法加載libOpenSLES.so

我得到它編譯和鏈接。但是,當我在模擬器上運行應用程序時,出現以下'usr/lib/libOpenSLES.so not found'錯誤。

我檢查了我的libOpenSLES.so在我的ubuntu環境的正確路徑。那爲什麼說它找不到它?

E/LibVLC ( 443): Can't load vlcjni library: java.lang.UnsatisfiedLinkError: Cannot load library: link_image[1962]: 33 could not load needed library '/home/michael/Programs/android-ndk/platforms/android-9/arch-arm/usr/lib/libOpenSLES.so' for 'libvlcjni.so' (load_library[1104]: Library '/home/michael/Programs/android-ndk/platforms/android-9/arch-arm/usr/lib/libOpenSLES.so' not found)

回答

1

我看起來像應用程序已與您的開發機器上的完整路徑libOpenSLES鏈接。當你在仿真器上運行時,你希望它將OpenSLES庫解析到仿真器上的正確位置,而不是你的開發機器。

工具鏈應該已經被設置爲解析正確的庫路徑,您應該能夠鏈接到「-lOpenSLES」,它將在構建時解析到您的NDK目錄,並且在模擬器/設備上的正確位置運行。

相關問題