即使选择了默认的苹果 llvm 5.0,XCode5 也使用 gcc48

Posted

技术标签:

【中文标题】即使选择了默认的苹果 llvm 5.0,XCode5 也使用 gcc48【英文标题】:XCode5 uses gcc48 even if default apple llvm 5.0 selected 【发布时间】:2013-11-09 16:07:09 【问题描述】:

在安装 xcode 5、gcc4.8 (with homebrew) 和 xcode 命令行工具后,ide 尝试使用 /usr/local/bin/gcc-4.8 并失败并出现退出代码 1,即使在构建选项中也是如此选择了“默认编译器(Apple LLVM 5.0)”。 请帮忙。

【问题讨论】:

【参考方案1】:

在 mi Lion homebrew 上构建失败,但我使用 Apple llvm-gcc42 使用此配置构建:

成功gmp:

CFLAGS="-m32 -m64" CPPFLAGS="-m32 -m64" CXXFLAGS="-m32 -m64" LFLAGS="-m32 -m64" LDFLAGS="-m32 -m64" ./configure   --prefix=/usr/local   --enable-cxx --build=x86_64-apple-darwin --host=none-apple-darwin --enable-fat=yes

成功mpfr:

CFLAGS="-m32 -m64" CPPFLAGS="-m32 -m64" CXXFLAGS="-m32 -m64" LFLAGS="-m32 -m64" LDFLAGS="-m32 -m64" ./configure   --prefix=/usr/local --build=x86_64-apple-darwin --host=none-apple-darwin

成功的mpc:

CFLAGS="-m32 -m64" CPPFLAGS="-m32 -m64" CXXFLAGS="-m32 -m64" LFLAGS="-m32 -m64" LDFLAGS="-m32 -m64" ./configure   --prefix=/usr/local --build=x86_64-apple-darwin --host=none-apple-darwin

成功之道:

CFLAGS="-m32 -m64" CPPFLAGS="-m32 -m64" CXXFLAGS="-m32 -m64" LFLAGS="-m32 -m64" LDFLAGS="-m32 -m64" ./configure   --prefix=/usr/local --build=x86_64-apple-darwin --host=none-apple-darwin   --enable-portable-binary

成功之道:

CFLAGS="-m32 -m64" CPPFLAGS="-m32 -m64" CXXFLAGS="-m32 -m64" LFLAGS="-m32 -m64 -L/usr/local/lib" LDFLAGS="-m32 -m64 -L/usr/local/lib" ./configure   --prefix=/usr/local --build=x86_64-apple-darwin --host=none-apple-darwin   --enable-portable-binary  --with-isl-prefix=/usr/local

成功 gcc 4.8.1:

./configure  --prefix=/usr/local --enable-languages=c,c++,objc,obj-c++  --build=x86_64-apple-darwin  --target=x86_64-apple-darwin --with-system-zlib  --enable-multilib  --enable-objc-gc  --enable-lto  --enable-ld=yes  --enable-bootstrap --enable-gold=yes CC="/usr/bin/gcc" CXX="/usr/bin/g++" CFLAGS="-mmacosx-version-min=10.5" CXXFLAGS="-mmacosx-version-min=10.5" CPPFLAGS="-mmacosx-version-min=10.5" OBJCFLAGS="-mmacosx-version-min=10.5" OBJCXXFLAGS="-mmacosx-version-min=10.5" LFLAGS="-mmacosx-version-min=10.5" LDFLAGS="-mmacosx-version-min=10.5"

您需要下载所有源代码,不要使用任何 macports 和 brew。

Ypu 可以使用来自 http://chomikuj.pl/ydk2/wxwidgets+Mac+OS+X/wxphp/main.wxphp.app.bundle.10.6.i386,3523603473.zip 的 gcc-4.8.1 检查构建程序,这只是我的测试构建,但检查了 L 和 ML。

编辑... 之后你可以尝试添加 ~/.profile:

alias gcc=/usr/local/bin/gcc
alias cc=/usr/local/bin/gcc
alias g++=/usr/local/bin/g++
alias c++=/usr/local/bin/c++
export CC=/usr/local/bin/gcc
export CXX=/usr/local/bin/g++   
export PATH=/usr/local/bin:/usr/local/sbin:/opt/local/bin:/opt/local/sbin:/usr/bin:/usr/sbin:$PATH

/opt/bin 是可选的,前提是你有一个二进制文件。 但是首先需要在 /usr/local/bin 中安装 gcc,如果首先添加 /usr/bin,则 /usr/bin/gcc 用于命令 gcc

对于 Apple gcc simple in shell:

export CC=/usr/bin/gcc
export CXX=/usr/bin/g++
export CPP=/usr/bin/cpp
export LD=/usr/bin/ld
alias c++=/usr/bin/c++
alias g++=/usr/bin/g++
alias gcc=/usr/bin/gcc
alias cpp=/usr/bin/cpp
alias cc=/usr/bin/cc

【讨论】:

以上是关于即使选择了默认的苹果 llvm 5.0,XCode5 也使用 gcc48的主要内容,如果未能解决你的问题,请参考以下文章

如何创建一个向后兼容iOS 5.0的新Xcode 5项目? - 错过故事板错误

地理编码器在 ios 5 中给出了错误的地址

在 5.0 中打开后无法在 Xcode 4.6 中打开项目

XCODE中怎么使用IOS 5.0的模拟器?

“无法识别的选择器发送到实例”,即使 XCode 说实例是正确的类型

xcode怎么打开ios模拟器