如何在 Mountain Lion 上編譯 gcc-4.0

如何在 Mountain Lion 上編譯 gcc-4.0

到目前為止,我已經成功啟動了配置,但是當我輸入 make 時,一段時間後出現以下錯誤(有很多編譯成功):

ld:未知/不支援的架構名稱:-arch i686
/usr/bin/libtool:內部連結編輯指令失敗
make[2]: *** [libgcc_s.dylib] 錯誤 1
make[1]: *** [libgcc.a] 錯誤 2
make: *** [all-gcc] 錯誤 2

有沒有辦法告訴 gcc 不要要為 i686 架構編譯自己?

uname -a如果有幫助的話,這是我的:

Darwin Frizlabs-Computer.local 12.2.0 Darwin 核心版本 12.2.0:2012 年 8 月 25 日星期六 00:48:52 PDT;根:xnu-2050.18.24~1/RELEASE_X86_64 x86_64

PS:我知道 gcc-4.0 很古老,但我確實需要它。

答案1

GCC 包含在 XCode 中,但如果您確實只需要 GCC,我還在 GitHub 上找到了 OSX GCC 安裝程式的這個專案。

https://github.com/kennethreitz/osx-gcc-installer

osx-gcc-installer 可讓您從預先建置的二進位套件安裝基本編譯器或協助您建立自己的安裝程式。

對於 Lion 和 Mountain Lion 用戶,Apple 現在提供了官方的 Xcode 命令列工具包,您無需安裝 Xcode 即可安裝!您可以從 Apple 的開發者網站下載它。如果您仍然需要 gcc-4.2,並且使用 Homebrew,則可以使用 homebrew/dupes 中的 apple-gcc42 軟體包來安裝它。

編輯:

好的,去取得 XCode 3.1 中包含的較舊的 4.0 軟體包蘋果的開源頁面

下載 gcc-5493 包,我使用 README.Apple 中的說明進行了測試編譯

建築,蘋果方式對我不起作用,但建築,FSF 方式經過修改後可以工作...

為了以 FSF 方式建構東西,我需要添加--enable-languages=objc,c++,obj-c++限制語言。有些東西導致它出錯,但我沒有時間弄清楚是哪一個。但使用下面成功編譯。

mkdir darwin
cd darwin
../configure --prefix=/tmp/testplace --enable-languages=objc,c++,obj-c++
make bootstrap
make install

還要確保您安裝了 XCode 和命令列工具

Using built-in specs.
Target: i686-apple-darwin12.2.0
Configured with: ../configure --prefix=/tmp/testplace --enable-languages=objc,c++,obj-c++
Thread model: posix
gcc version 4.0.1 (Apple Inc. build 5493)

相關內容