【问题标题】:Clang and the default compiler in OS X LionClang 和 OS X Lion 中的默认编译器
【发布时间】:2011-07-22 22:58:48
【问题描述】:

在 OS X Snow Leopard (10.6) 中,我在 ~/.bashrc 中使用以下行来强制使用 clang 而不是标准 gcc 进行编译:

# Set Clang as the default compiler for the system
export CC=clang
export CFLAGS=-Qunused-arguments
export CPPFLAGS=-Qunused-arguments

当 clang 无法编译某些东西时,我也(偶尔)不得不使用以下几行来使用 llvm-gcc(PostgreSQL 长期以来一直对此感到内疚):

# Set LLVM GCC as the default compiler for the system
export CPP='llvm-gcc-4.2'
export CC='llvm-gcc-4.2'
export CXX='llvm-g++'

在 OS X Lion (10.7) 上,这些行还需要吗? llvm-gcc(或 clang)是系统的默认编译器吗?或者这些行还需要住在我的~/.bashrc 中吗?

【问题讨论】:

    标签: compiler-construction default osx-lion osx-snow-leopard


    【解决方案1】:

    Lion 上的默认编译器现在是 llvm-gcc-4.2,尽管 Snow Leopard 的标准选择(gcc-4.2、llvm-gcc-4.2、clang)保持不变。尝试阅读Using the right compiler

    【讨论】:

      【解决方案2】:

      gcc 符号链接到 Lion 上的 llvm-gcc-4.2。

      lrwxr-xr-x 1 根轮 12 Jul 21 20:51 /usr/bin/gcc -> llvm-gcc-4.2

      lrwxr-xr-x 1 根轮 12 Jul 21 20:51 /usr/bin/g++ -> llvm-g++-4.2

      您可能可以删除这些环境变量而不会造成太大伤害。

      【讨论】:

      • 对于那些不知道的人,为了在 /usr/bin 中获得 gcc,您必须安装 Xcode 4.1,如果您从 App Store 安装,请务必选择正确的 Xcode Installer (您可能拥有 Snow Leopard 的 3.x 版本安装程序)。
      • 我从 Lion 上的 App Store 安装了 Xcode 4.3.1,必须转到 Preferences->Downloads->Components 并安装命令行工具才能在 /usr/bin 中获取 gcc
      • 卢卡斯 - 谢谢!刚刚花了大约一个小时试图弄清楚 RVM 是如何给我一个简单的安装带来这么多麻烦的。默认情况下不安装命令行工具。失败!
      • 在编译或安装一些 python 模块时,你需要旧的 fortan 编译器 (gfortan) 来覆盖 lion (XCode) 的默认值。否则,Lion 会在 numpy、scipy 和 pandas 等模块中出现阴险的数学错误。对于 scipy,您可能需要额外的 env 指令,例如:CXX=clang++ && FFLAGS=-ff2c 才能顺利进行。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-11-11
      • 2012-01-23
      • 2012-01-31
      • 2016-01-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多