错误:没有包含搜索stdio.h的路径

时间:2010-11-21 07:10:27

标签: c linux gcc bash

我曾经能够编译C程序,但现在我不能:

$ cat helloworld.c
#include <stdio.h>

int main(void)
{
    printf("Hello, world!\n");
    return 0;
}

$ gcc helloworld.c
helloworld.c:1:19: error: no include path in which to search for stdio.h

是的,我确实有/usr/include/stdio.h。是的,已安装build-essentials

在我修改~/.bashrc以运行安装在我的用户目录中的程序后,此问题就开始了。我知道这是错的,因为如果我删除~/.bashrc,它就可以了。

什么环境变量会将/usr/include视为包含路径?

1 个答案:

答案 0 :(得分:3)

问题是我在PATH中有另一个GCC:

$ which gcc
/home/joey/gcc4ti/bin/gcc

当我尝试编译“Hello World”时,它正在运行68000的编译器,而不是我的系统编译器:D

我在~/.bashrc

中有这个
export PATH="/home/joey/gcc4ti/bin:$PATH"

由于路径按顺序扫描,因此首先会看到gcc中的/home/joey/gcc4ti/bin。我改成了:

export PATH="$PATH:/home/joey/gcc4ti/bin"