關於 could not read symbols: File in wrong format 問題的解決方案

最近有個項目需要用到第三方的lib,而在它們的官網上面下載了linux版本的so

於是根據它們提供的文檔來調用so裏面的函數,用ndk將so編譯到我自己的jni lib

中去。但是編譯是過了,鏈接時出問題了:

could not read symbols: File in wrong format
collect2: ld returned 1 exit status

後來找了下原因,linux平臺下的so 是在x86的CPU架構下編譯出來的,但是我們NDK編譯

的是用於ARM平臺下使用的so(當然也可以是x86的,不過這個需要ndk5以上版本)。

 

所以這個的解決辦法是找到對應的ARM平臺下的so 。

有兩個辦法:

 1.直接找對方要,因爲你是客戶,但如過是小客戶,也許不會理你。

 2.從它們提供的APK示例程序中解壓得到你想要的lib,這個是完全可以使用的。

發佈了44 篇原創文章 · 獲贊 32 · 訪問量 17萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章