1

尝试在我的 Mac (OS X Lion) 上安装 scikit 时,我偶然发现了这个错误:

未找到 gcc-4.2,改用 clang。

我搜索了如何解决这个问题,似乎环境变量 CC 设置不正确。我现在的问题是,我怎样才能改变这个,我必须改变什么?我/usr/lib/确实看到了 g++、gcc、llvm-g++-4.2 和 llvm-gcc-4.2 可执行文件。此外,当我检查时,env我没有看到 CC 变量。即使我尝试导出 CC=gcc 我也看不到它的env命令。

4

3 回答 3

2

有多种方法可以做到这一点:

  1. 如果make要编译源代码,请使用以下命令:

    make CC=/path/to/gcc CXX=path/to/g++ 
    make CC=/path/to/gcc CXX=path/to/g++ install 
    etc.
    
  2. 您可以通过以下方式永久更改默认编译器:

    cd /usr/bin
    rm cc c++ gcc g++
    ln -s gcc-4.2 cc
    ln -s gcc-4.2 gcc
    ln -s c++-4.2 c++
    ln -s g++-4.2 g++
    

不过,您也应该clang尝试一下 - 它一点也不差,而且在许多情况下,它可以生成与gcc.

于 2012-12-05T14:26:48.520 回答
1

如果 scikits明确地寻找 gcc-4.2,听起来它在设置过程中是硬编码的(坏主意 imo)。

然后我会选择符号链接解决方案;与我的评论或 Ramneek 的回答有点不同,但几乎相同:

sudo ln -s /usr/bin/llvm-gcc-4.2 /usr/bin/gcc-4.2
于 2012-12-05T14:48:26.410 回答
0

gcc这样不应该在/usr/lib/,但(也)在/usr/bin/。里面的/usr/lib/是子目录,里面的/usr/bin/是可执行文件。

很可能您在这些子目录中有库,但没有实际的可执行文件和头文件。

您在安装 XCode 期间是否安装了命令行工具?

于 2012-12-05T13:54:46.647 回答