小编Hél*_*ima的帖子

用MinGW编译c程序导致cc1.exe致命错误

我使用 win-builds 安装了 MinGW-w64。一切正常,但是当我使用编译文件时

gcc -Wall -o prog.exe main.c

我收到这个错误

cc1.exe: fatal error: Files/win-builds-1.5.0/include: No such file or directory compilation terminated.

我已经更新了 gcc 路径。当我尝试在 eclipse 上构建时,我遇到了同样的错误。win-builds 放置所有文件的位置是C:\Program Files\win-builds-1.5.0\并且文件夹\include\存在。

我的猜测是,cc1.exe试图访问C:\Program Files\win-builds-1.5.0\include,但由于某种原因,它是分离C:\ProgramFiles\win-builds-1.5.0\include

我怎样才能让编译器工作? 错误

编辑:

这是要编译的代码

/*
 * main.c
 *
 *  Created on: 13/06/2018
 *      Author: haslima
 */
#include <stdio.h>

int main()
{
    printf("Hello World");
    return 1;
}
Run Code Online (Sandbox Code Playgroud)

编辑:

当我运行时,gcc -v -c -o prog.exe main.c我得到这个输出:

Reading specs from c:/program …
Run Code Online (Sandbox Code Playgroud)

c mingw mingw-w64

3
推荐指数
1
解决办法
4978
查看次数

不应该直接指向C中的文本吗?

我正在学习C,我遇到了指针.尽管我在本教程中学到的东西比从教科书中学到的东西还要多,但我仍然对这些教程有所了解.

如果我编程这个

#include <stdio.h>

int main()
{
    char *ptr_str;

    ptr_str = "Hello World";

    printf(ptr_str);

    return 0;

}
Run Code Online (Sandbox Code Playgroud)

结果是

Hello World
Run Code Online (Sandbox Code Playgroud)

我不明白编译时是怎么回事,因为指针ptr_str直接指向文本而不指向文本的第一个字符.我以为只有这样才行

#include <stdio.h>

int main()
{
    char *ptr_str;
    char var_str[] = "Hello World";

    ptr_str = var_str;

    printf(ptr_str);

    return 0;

}
Run Code Online (Sandbox Code Playgroud)

所以在第一个例子中我是如何直接指向文本的?

c pointers c-strings

0
推荐指数
1
解决办法
79
查看次数

标签 统计

c ×2

c-strings ×1

mingw ×1

mingw-w64 ×1

pointers ×1