2010-11-21 7 views
3

私はCプログラムをコンパイルすることができるように使用されるが、今、私はできませんを見つけるためのインクルードパス:エラー:なしstdio.hの

$ 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

+4

あなたの '.bashrc'の内容を貼り付けることは役に立ちます。 – cdhowie

答えて

3

問題は、私は私のPATHに他のGCCを持っていたことだった。

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

を私はコンパイルするの「Hello World」をしようとしていたとき、それは68000、ない私のシステムコンパイラのコンパイラ実行していた:Dを

私は私の~/.bashrcでこれを持っていた:

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

をパスが順番にスキャンされているので、/home/joey/gcc4ti/bingccはFiが見られています最初。私はそれを次のように変更しました:

export PATH="$PATH:/home/joey/gcc4ti/bin" 
関連する問題