自制解决方案
为了回答我自己的问题,homebrew-versions
现在有了一个相当最新的GCC公式。可以使用安装
brew install [flags] https://raw.github.com/Homebrew/homebrew-versions/gcc48.rb
其中[flags]
应包含所有必需的语言,例如(--enable-cxx --enable-fortran
)。
这将安装带有后缀的可执行文件,即gcc
必须进行访问gcc-version
以避免冲突。如有必要,可以创建适当的符号链接以使该版本成为默认版本。
手动安装
或者,可以使用以下Shell脚本手动编译最新的GCC(截至撰写本文时):
VERSION=4.7.0
PREFIX=/usr/gcc-$(VERSION)
LANGUAGES=c,c++,fortran
MAKE=make
# Or
# MAKE='make -j 4' # to compile using four cores
brew-path() { brew info $1 | head -n3 | tail -n1 | cut -d' ' -f1; }
# Prerequisites
brew install gmp
brew install mpfr
brew install libmpc
# Download & install the latest GCC
mkdir -p $PREFIX
mkdir temp-gcc
cd temp-gcc
wget ftp://ftp.gnu.org/gnu/gcc/gcc-$VERSION/gcc-$VERSION.tar.gz
tar xfz gcc-$VERSION.tar.gz
rm gcc-$VERSION.tar.gz
cd gcc-$VERSION
mkdir build
cd build
../configure \
--prefix=$PREFIX \
--with-gmp=$(brew-path gmp) \
--with-mpfr=$(brew-path mpfr) \
--with-mpc=$(brew-path libmpc) \
--program-suffix=-$VERSION \
--enable-languages=$LANGUAGES \
--with-system-zlib \
--enable-stage1-checking \
--enable-plugin \
--enable-lto \
--disable-multilib
$MAKE bootstrap
make install
# Uncomment for cleanup …
# cd ../../..
# rm -r temp-gcc
这将使GCC步入正轨/usr/gcc-4.7.0
。现在,您所需要做的就是创建指向可执行文件的符号链接或将bin
目录添加到$PATH
变量。
gcc --version
什么?我得到了i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)
,我只是从MAS安装了Xcode。还有什么输出echo $PATH
?