我的環境是arm-linux-androideabi(東芝AC100上的Android 2.2)。我有2套GCC編譯爲我的環境(安裝在設備上的不同地點):是否可以混合不同版本的gcc和ld?
- 4.4.3(Android NDK on Android)
- 4.6.0(R + GCC on Android)
這個問題我面對的是,每當它運行的是gcc-4.6.0段錯誤(但它成功運行每一項工作,只是在段錯誤結束,可能在出口程序),而LD-4.4.3和AR-4.4.3無法運行我的環境。另一方面,gcc-4.4.3運行的很好,就像ld-4.6.0和ar-4.6.0一樣。因此,在我的設備上構建時,如果使用4.4.3運行configure,它將在配置步驟失敗,因爲即使配置測試程序編譯成功,gcc segfaults也將返回非零值( 139)。但是,如果我運行4.6.0配置,運行配置不夠好,但構建(make all
)在聯和靜態庫創建悲慘的失敗了。
我的問題是:
- 是否有可能使用gcc-4.4.3編譯我的目標文件(
gcc-4.4.3 -c input.c
),然後用LD-4.6.0(ld-4.6.0 -o input input.o -lc
)鏈接?也就是說,我將刪除有問題的二進制文件,並使用工作二進制文件的組合來構建項目。 - 如果有警告,那麼它們是什麼?
沒有嘗試,但我不知道庫(頭)將編譯器使用什麼連接器將連接。也許你將不得不盡快告訴他們...... – dbrank0
我張貼了這個問題,我意識到我已經嘗試過了,看到。然而,正如你的評論所表明的那樣,我需要研究很多警告。 – Samveen