ошибка: нет пути к файлу stdio.h - PullRequest
3 голосов
/ 21 ноября 2010

Раньше я мог компилировать программы на Си, но теперь не могу:

$ 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 Ответ

3 голосов
/ 21 ноября 2010

Проблема заключалась в том, что у меня был другой GCC в моем ПУТИ:

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

Когда я пытался скомпилировать «Hello World», он запускал компилятор для 68000, а не мой системный компилятор: D

У меня было это в моем ~/.bashrc:

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

Поскольку пути сканируются по порядку, сначала отображается gcc in /home/joey/gcc4ti/bin. Я изменил это на:

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