GCC 分段故障 Mac
Posted
技术标签:
【中文标题】GCC 分段故障 Mac【英文标题】:GCC Segmentation Fault Mac 【发布时间】:2015-03-25 18:11:38 【问题描述】:让我的 gcc 和 g++ 编译器在我的 mac (OSX Yosemite 10.10.2)。
我编写了一个简单的“Hello World”程序,甚至这些似乎都没有 工作。我尝试运行的两个程序是
hello.c
#include <stdio.h>
int main()
printf("Hello world\n");
return 0;
hello.cpp
#include <iostream>
int main()
std::cout << "Hello World";
我可以使用cc hello.c
编译 C 程序,一切正常,但是
当我做gcc hello.c
时,我得到了这个错误
[1] 38508 segmentation fault gcc hello.c
我在尝试编译我的 C++ 代码时遇到类似的错误
[1] 38596 segmentation fault g++ hello.cpp
我做了which gcc
,我得到了/opt/local/bin/gcc
,那个目录在我的
小路。
(/usr/texbin /opt/local/bin /opt/local/sbin /bin /usr/sbin /sbin /usr/local/bin/usr/bin
)
所以我对正在发生的事情感到困惑。我以为我下载了所有
Xcode 我需要的东西。我想让gcc
和g++
运行
适当地。希望能帮到你。
谢谢!
【问题讨论】:
如果在 OS X 上,你为什么不使用clang
?
gcc -v
的输出可能会有所帮助,但恐怕您也会使用此命令出现段错误
【参考方案1】:
gcc 和 g++ 似乎必须安装/添加到 MAC 操作系统。
根据您的描述,我预计安装了错误版本的这些工具。
This answer 应该会有所帮助。
在继续安装 gcc 之前,请务必阅读该问题的所有答案。
【讨论】:
我使用了他们建议的 PATH 操作,它似乎解决了我的问题。 export PATH="/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:$PATH"【参考方案2】:我遇到了类似的问题,甚至 gcc --version
给我一个“分段错误:11”。这是在带有 XCode 6.4 的 OSX 10.10.5 上。经过多次谷歌搜索但没有解决方案,我发现 clang(Apple 基于 LLVM 的 C 编译器)旨在成为 gcc 的兼容替代品,所以我只是将 gcc 符号链接到 clang,如下所示:
whence gcc #=> /usr/local/bin/gcc
whence clang #=> /usr/bin/clang
cd /usr/local/bin
sudo mv gcc gcc_OLD
sudo ln -s /usr/bin/clang /usr/local/bin/gcc
gcc -v
Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn)
Target: x86_64-apple-darwin14.5.0
Thread model: posix
现在我能够成功编译 c 语言的东西,比如我的 ruby 扩展。
【讨论】:
以上是关于GCC 分段故障 Mac的主要内容,如果未能解决你的问题,请参考以下文章