首先,我對編程非常陌生。在UNIX上從Xcode4運行可執行文件時的錯誤體系結構
我有一個在Snow Leopard上使用Xcode 4編譯的程序。 該項目的體系結構設置爲「標準(32/64位英特爾)」
然後我已將可執行文件導出到UNIX計算機上運行。
SSH到該計算機
在終端(UNIX計算機)鍵入
./programname
給出以下響應: Exec的格式錯誤。錯誤的建築。
該程序運行得很好,在我的Mac筆記本電腦上。
首先,我對編程非常陌生。在UNIX上從Xcode4運行可執行文件時的錯誤體系結構
我有一個在Snow Leopard上使用Xcode 4編譯的程序。 該項目的體系結構設置爲「標準(32/64位英特爾)」
然後我已將可執行文件導出到UNIX計算機上運行。
SSH到該計算機
在終端(UNIX計算機)鍵入./programname
給出以下響應: Exec的格式錯誤。錯誤的建築。
該程序運行得很好,在我的Mac筆記本電腦上。
由XCode編譯的程序只能在MacOS X下運行。除非第2步中的「UNIX計算機」正在運行MacOS,否則程序將無法運行。
當你編譯一個程序這將(*)編譯爲特定平臺和特定操作系統。它也很可能是針對一組特定的圖書館編制的。 通常這些參數與編譯計算機的參數完全相同(其他情況稱爲交叉編譯)。換句話說:在Mac上編譯程序將產生一個在Mac上運行只有的二進制文件(除非再次進行交叉編譯)。你的UNIX系統(順便說一下UNIX)有不同的操作系統,不同的庫,甚至可能有不同的CPU架構。
有點相關:蘋果宣稱(或用於宣傳)Mac OS X作爲UNIX。儘管Mac OS X當然是一個UNIX級別的操作系統,但不是意味着它與其他任何UNIX類操作系統二進制兼容。 *除了設計用來避免這種情況的系統(例如Java)外,幾乎總是可以的(例如Java)