2010-11-21 22 views
3

je l'habitude d'être en mesure de compiler des programmes C, mais maintenant je ne peux pas:erreur: inclure aucun chemin dans lequel pour rechercher 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 

Oui, j'ai /usr/include/stdio.h. Oui, build-essentials est installé.

Ce problème a commencé après que j'ai modifié mon ~/.bashrc pour exécuter un programme installé dans mon répertoire utilisateur. Je sais que c'est ce qui ne va pas parce que si je supprime ~/.bashrc, cela fonctionne.

Quelle variable d'environnement ombrera /usr/include en tant que chemin d'inclusion?

+4

Coller le contenu de votre '.bashrc' serait utile. – cdhowie

Répondre

3

Le problème était que j'avais une autre GCC dans mon PATH:

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

Quand je tentais de compiler « Bonjour tout le monde », il a été en cours d'exécution d'un compilateur pour un 68000, pas mon compilateur système: D

J'ai eu dans mon ~/.bashrc:

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

Parce que les chemins sont analysés dans l'ordre, le gcc dans /home/joey/gcc4ti/bin est vu fi premier Je l'ai changé pour:

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