这条消息是什么意思?

时间:2013-05-19 06:48:32

标签: c mingw

我正在使用代码块进行C编程,我的问题是当我运行我已经创建的程序时,我在构建日志中得到了这个语句。

-------------- Build:C赋值调试(编译器:GNU GCC编译器)---------------

mingw32-g++.exe  -o "bin\Debug\C assignment.exe" obj\Debug\main.o    
mingw32-g++.exe: Internal error: Aborted (program collect2)
Please submit a full bug report.
See <URL:http://www.mingw.org/bugs.shtml> for instructions.
Process terminated with status 1 (0 minutes, 0 seconds)
0 errors, 0 warnings (0 minutes, 0 seconds)

这是什么意思?我的程序中有输出语句,但我没有得到所需的输出,而是在构建日志中得到上述消息。  顺便说一下,我是C语言的新手,这也是我第一次使用代码块IDE。

编辑: -

这是我的计划。

#include <stdio.h>


struct preparation_time{
int spongecake;
int meringue;
int chocalate;
int red_velvet;
};

void cake_order(struct preparation_time *);



main()
{

struct preparation_time caketime;

cake_order(&caketime);


}


void cake_order(struct preparation_time *thetime)
{
    int i;

    thetime->chocalate=25;
    thetime->meringue=45;
    thetime->red_velvet=60;
    thetime->spongecake=30;

     for(i=0;i<180;i++)
    {

        if(thetime->chocalate==i)
        {
            printf("Chocalate cake");
            thetime->chocalate=thetime->chocalate*2;

        }
    if(thetime->spongecake==i)
    {
        printf("Sponge cake");
        thetime->spongecake=thetime->spongecake*2;
    }

    if(thetime->meringue==i)
    {
        printf("Meringue");
        thetime->meringue=thetime->meringue*2;

    }

    if(thetime->red_velvet==i)
    {

        printf("Red velvet");
        thetime->red_velvet=thetime->red_velvet*2;
    }

}

}

感谢您的时间。

1 个答案:

答案 0 :(得分:1)

首先,您的mainreturn 0;。另外,对于好的样式,您应该明确声明为int main

然后(我试过)编译时有没有警告,程序运行正常。

最可能的问题是命令行路径存在问题:反斜杠,空格,大写/小写。

  • 首先尝试在-o。
  • 前面移动obj\Debug\main.o
  • 尝试使用forwardslashes替换反斜杠。
  • 如果不起作用,请尝试仅使用没有空格,大写或特殊字符的目录。
  • 如果这不起作用,请尝试:将所有内容放在一个目录中,只使用文件名,没有路径。

问题不太可能是这是一个实际的(MinGW-)GCC编译器错误,在这种情况下,您应首先更新您的编译器并重试。如果它仍然失败,那么实际上会按要求提交。

祝你好运!