2017-06-21 60 views
-4

我在macOS上生成可執行文件,現在我想在Linux上運行它。如何生成可在macOS和Linux上運行的可執行文件

我已經有了我的Makefile,並且使用它在macOS(使用gcc)上生成可執行文件。但是當我在Linux上運行它時,我收到一條錯誤消息:「./executable:無法執行二進制文件」。任何人都可以幫我解決這個問題嗎?

+2

這是不可能的。創建兩個不同的可執行文件 –

+0

你應該以一個有效的英文句子和有效的德語句子的形式提出這個問題。 – Ssswift

回答

0

您將不得不在Linux上再次編譯可執行文件,以創建在Linux上運行的二進制文件。 除非你在MacOSX上爲Linux設置交叉編譯環境(儘管在虛擬機中使用Linux會更容易),那麼你可以在那裏編譯Linux。

無論哪種方式,你將結束與2個不同的二進制文件。您不能創建可在Linux和MacOSX上運行的單個二進制文件。

+0

謝謝!在那種情況下,我需要更改Makefile嗎? – dongxin

+0

@dongxin可能,我不知道你的Makefile是什麼樣的。如果它非常簡單,基本上只是調用gcc,那麼它可以適用於兩者。 如果它比那更復雜,例如您必須鏈接系統的共享庫等,那麼您可能需要更改Makefile,以便它能找到它在兩個系統上的需求(或者爲每個系統創建單獨的Makefile,如果您願意的話)。 – Jay

+0

謝謝!那麼我會試一試。 – dongxin

相關問題