即使选择了默认的苹果 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的主要内容,如果未能解决你的问题,请参考以下文章
如何从 LLVM 5.0 中的 TargetMachine 获取 DataLayout?