尝试在我的 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
命令。
有多种方法可以做到这一点:
如果make
要编译源代码,请使用以下命令:
make CC=/path/to/gcc CXX=path/to/g++ make CC=/path/to/gcc CXX=path/to/g++ install etc.
您可以通过以下方式永久更改默认编译器:
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
.
如果 scikits明确地寻找 gcc-4.2,听起来它在设置过程中是硬编码的(坏主意 imo)。
然后我会选择符号链接解决方案;与我的评论或 Ramneek 的回答有点不同,但几乎相同:
sudo ln -s /usr/bin/llvm-gcc-4.2 /usr/bin/gcc-4.2
gcc
这样不应该在/usr/lib/
,但(也)在/usr/bin/
。里面的/usr/lib/
是子目录,里面的/usr/bin/
是可执行文件。
很可能您在这些子目录中有库,但没有实际的可执行文件和头文件。
您在安装 XCode 期间是否安装了命令行工具?