2011-10-09 27 views
3

獲取此錯誤在Ubuntu 11.10上爲軟件(slug)交叉編譯node.js。optware錯誤編譯節點 - libv8.a:無法讀取符號:錯誤格式的文件

/optware/cs05q1armel/builds/node/build/default/libv8.a(api.o):在通用ELF重定位(EM:3) /Optware公司/ cs05q1armel /建立/節點/建立/默認/ libv8 .A:無法讀取符號:格式錯誤的文件

使用標誌--without快照--without-SSL --dest-CPU =臂的./configure

臂無-Linux的gnueabi -g ++被正確選擇爲編譯器,但可能不適用於此庫?

任何指針理解

回答

1

此問題是由於不同的體系結構 機器上編譯XXXX.o。例如,Sun工作站編譯爲SPARC機器代碼,而我們的LINUX工作站的 編譯爲Intel x86代碼。如果在一種體系結構上編譯 項目的一部分,然後嘗試在另一種體系結構上編譯其餘的 項目,那麼在執行最後的 可執行文件時,鏈接器/加載器將無法讀取部分 項目的.o文件創建一個可執行文件,因此 「無法讀取符號:格式錯誤的文件」錯誤信息。 如果您更改機器架構甚至操作系統版本,而 正在執行項目,則清理/刪除所有現有.o文件 並重新創建您所在的當前計算機上的整個項目是合理的。

http://ugweb.cs.ualberta.ca/~rod/tutorials/error_messagesC.html節 「錯誤避開了你的理解」

相關問題