我曾经能够编译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
,它的工作原理。
什么环境variables将阴影/usr/include
作为包含path?
问题是我在路径中有另一个GCC:
$ which gcc /home/joey/gcc4ti/bin/gcc
当我试图编译“Hello World”时,它正在运行68000的编译器,而不是我的系统编译器:D
我在~/.bashrc
有这个:
export PATH="/home/joey/gcc4ti/bin:$PATH"
因为按顺序扫描路径,所以首先看到/home/joey/gcc4ti/bin
的gcc
。 我把它改成:
export PATH="$PATH:/home/joey/gcc4ti/bin"