gcc “никакой такой файл или каталог” ошибка при попытке компиляции

Я просто переместился в Ubuntu и в настоящее время изучаю программирование C, так естественно я пытался скомпилировать некоторый код. Я уверен, что использую право команды (это - всего несколько букв, продвиньтесь), но компилятор продолжает жаловаться на то, чтобы там быть "никаким таким файлом или каталогом", независимо от того, от какого каталога я пытаюсь скомпилировать. Я имею существенный для сборки установленный, и gcc, кажется, функционирует обычно иначе, какова могла быть причина этого? Справка очень ценится.

Править: После дальнейшего расследования я понял, что это происходит с.c файлами, которые я создаю через редактора, такого как редактор Ubuntu по умолчанию или Atom. Результатом был succesfull при использовании команды gedit, но unsuccesfull при создании того же файла через редактора. Я также сохранил файлы к корневому каталогу и работал ls каждый раз, чтобы удостовериться, что они там прежде пытаются скомпилировать. Вот сообщение об ошибке:

me@My-PC:~$ gcc test.c
gcc: error: test.c: No such file or directory
gcc: fatal error: no input files
compilation terminated.

Edit2: Я был идиотом и не сохранил файлы как.c (я предположил, что установка формата к "C" в редакторах сделает это для меня),

0
задан 20 February 2019 в 17:36

1 ответ

  1. Случай важен, test.c не является тестом. C.
  2. gcc на самом деле примет любой случай.c, если он будет существовать.
  3. gcc отклонениями по умолчанию, которые файлы без расширения, но steeldriver показали Вам, как переопределить это (который является, конечно, не общепринятой практикой).
  4. gcc может произвести вывод для имени, которое Вы предоставляете,-o test.out использование Вашего примера. Стандартная пользовательская установка включает каталог bin в корневой каталог, и это - обычное место для добавления частных сценариев, потому что это уже находится в ПУТИ. Например, в ~ / мусорное ведро, добавьте файл, названный mygcc, содержащим
    gcc -o "$1".out ${1}.c
    для компиляции файлов где угодно с новой командой mygcc тест Изменяются для установки потребности - передают явные исполняемые файлы имен, передают все имя test.c и т.д.
  5. Выполнение из локального каталога без./(как./test.out) сделано возможным путем добавления "." к переменной ПУТИ (отредактируйте .profile в корневом каталоге, чтобы сделать это),

.profile файл в Вашем корневом каталоге является просто текстовым файлом, принадлежавшим мой Вы, таким образом, любой редактор будет работать, но выбирать того, который не перенесет строки для Вас. Переменная ПУТИ обычно настраивается около нижней части, таким образом, можно добавить:. в конец существующего ПУТИ =... строка, или делают новую как

PATH=${PATH}:.

Добавление. в конец "более безопасно", чем вначале, таким образом, это не может переопределить системные программы того же имени. Запущение какой-либо несистемной программы влечет за собой некоторый риск, (куда это прибывало из, что это делает...?), но если программа является той, Вы создаете (источник и все), те риски меньше. Это может стоить удобства протестировать новые скомпилированные программы, Ваш выбор.

1
ответ дан 26 October 2019 в 04:59

Другие вопросы по тегам:

Похожие вопросы: