C++ EclipseGCC5.0Mac,出错:中止陷阱6

C++ EclipseGCC5.0Mac,出错:中止陷阱6,c++,eclipse,macos,c++11,gcc,C++,Eclipse,Macos,C++11,Gcc,我正在尝试在Mac上使用GCC5.0构建我在Eclipse中创建的项目 我将项目的环境变量设置为: CPATH: ${HOME}/gcc/include 库路径: ${HOME |/gcc/lib 路径: ${HOME}/gcc/bin: /usr/bin:/bin:/usr/sbin:/sbin 我在标志中添加了-std=c++11 我添加了DYLD_库路径: 动态库路径: ${env_var:HOME}/gcc/lib 但是,当我构建项目时,会出现以下错误: `Description

我正在尝试在Mac上使用GCC5.0构建我在Eclipse中创建的项目

我将项目的环境变量设置为: CPATH: ${HOME}/gcc/include

库路径: ${HOME |/gcc/lib

路径: ${HOME}/gcc/bin: /usr/bin:/bin:/usr/sbin:/sbin

我在标志中添加了-std=c++11

我添加了DYLD_库路径: 动态库路径: ${env_var:HOME}/gcc/lib

但是,当我构建项目时,会出现以下错误:

`Description    Resource    Path    Location    Type
make: *** [eulerclass.o] Abort trap: 6  Euler's Method          C/C++ Problem`
我的CPP文件如下:

#include <iomanip>
#include <iostream>

typedef double F(double,double);

/*
Approximates y(t) in y'(t)=f(t,y) with y(a)=y0 and
t=a..b and the step size h.
*/
void euler(F f, double y0, double a, double b, double h)
{
    double y = y0;
    for (double t = a; t < b; t += h)
    {
        std::cout << std::fixed << std::setprecision(3) << t << " " << y << "\n";
        y += h * f(t, y);
    }
    std::cout << "done\n";
}

// Example: Newton's cooling law
double newtonCoolingLaw(double, double t)
{
   return -0.07 * (t - 20);
}

int main()
{
    euler(newtonCoolingLaw, 100, 0, 100,  2);
    euler(newtonCoolingLaw, 100, 0, 100,  5);
    euler(newtonCoolingLaw, 100, 0, 100, 10);
}
知道我为什么会犯这个错误吗

注意:我能够使用terminal命令clang++成功编译和运行可执行文件,所以我知道该文件是好的。Eclipse一定是出了什么问题,但我不知道是什么问题


提前感谢!

您是否尝试过在命令提示符下运行make?我不需要make,只需要编译这个.cpp文件。您确实希望能够从Eclipse构建您的项目,是吗?Eclipse使用make构建您的项目。从命令行运行make的想法是为了消除Eclipse中可能出现的一个问题源。如果运行从命令行生成成功,那么问题就出在Eclipse上,最有可能出现在要生成的环境中。如果从命令行运行make失败的方式与从Eclipse运行make失败的方式相同,那么在构建工作开始之前,更改周围环境将更容易。啊,很好的调用。我运行make并获得:/bin/sh:-c:line 0:unexpected EOF在寻找匹配的/bin/sh:-c:第1行:语法错误:意外的文件结尾make:**[Euler的方法]error 2Run make SHELL='/bin/sh-x'并发布输出。似乎SHELL不喜欢make组合的命令。文件名或目录中有空格吗?make无法处理它们