1. 程式人生 > >關於 could not read symbols: File in wrong format 問題的解決方案

關於 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,這個是完全可以使用的。