2010-03-08 27 views
8

我在我的Mac上編譯了一個x86_64庫,並且我想將它與使用Free Pascal 2.4編譯的Pascal代碼鏈接起來。我給fpc選擇了哪些選項以使其生成64位代碼?沒有任何選項,我只能獲得32位.o文件。如何使用Free Pascal編譯64位Mac程序?

我使用的是從SourceForge的FPC-2.4.0.intel-macosx.dmg下載,但是當我運行fpc -i,唯一的目標Macintosh平臺它會列出是「達爾文i386的,」雖然2.4版本筆記說它可以瞄準「64位Mac OS X(x86_64/ppc64)」。

回答

10

fpc-pascal mailing listAccording to Jonas Maebe,有兩種選擇:

  • 運行fpc-Px86_64選項。 (該-P選項似乎尚未記錄。)
  • 直接運行ppcx64而不是fpc。 (沒有任何選擇,fpc改爲運行ppc386)。

兩者都爲我工作。

+0

很酷的自我回答! – 2010-04-07 18:32:04

+0

稍晚,但:-P記錄在buildfaq中http://www.stack.nl/~marcov/buildfaq.pdf注意它是「fpc」參數,而不是「ppc 」參數 – 2010-11-12 22:09:59

+0

有有幾件事違背該文件,@Marco。據Google稱,一個世界上只有兩頁鏈接到它;您的評論使3。兩個,它在您的個人網站上託管,而不是freepascal.org。三,它是一個PDF而不是Web友好的HTML。四,儘管它的名字,它不是真正的常見問題格式。五,任何不編譯FPC的人(像我一樣)根本沒有理由讀它。和六,它*提到*'-P',但沒有*文件*它。要真正被記錄下來,用戶手冊的fpc -h和§5.1(尤其是§5.1.4)需要說'-P'存在以及它的作用。 – 2010-11-12 22:44:57

0

使用-m64

實際上,GNU Pascal documentation甚至沒有聲明它在Mac OS X上支持。另一方面,FreePascal適用於所有Mac OS X變體(Intel和PPC,32位和64位)。

+1

雖然'fpc'沒有說它不能識別該選項(即使它沒有記錄),但它對輸出也沒有影響。它生成的.o文件仍然是32位文件。我以某種方式給你的印象是我正在尋找一個選擇給GCC?我不是。我已經有來自GCC的64位對象代碼。我試圖將它與由Free Pascal編譯的代碼鏈接,但要做到這一點,我需要Free Pascal來生成64位對象文件。 GNU Pascal甚至不會輸入圖片,因此它是否在Macintosh上受支持是無關緊要的。 – 2010-03-10 15:59:00

相關問題