Итак, я только что установил Linux после того, как всю жизнь пользовался Windows. Я также только что установил C++ IDE, code::blocks
используя следующую команду в терминале:
sudo apt-get install codeblocks
Теперь всякий раз, когда я пытаюсь запустить какой-либо исходный код, я получаю эту ошибку
sh:1 /home/daniel/Desktop/Hey: Permission Denied
Есть ли помощь/решение?
решение1
Нормальное поведение CodeBlocks при работе с одним файлом (в отличие от проекта) — использовать имя файла без расширения в качестве имени скомпилированного исполняемого файла. Поэтому hello.cpp
будет создан двоичный файл с именем hello
. CodeBlocks проверяет временные метки файлов, чтобы узнать, нужна ли компиляция. Это ломается, когда у файла нет расширения: исходный файл с именем hello
будет иметь двоичный файл с именем hello
с точки зрения CodeBlocks. Поэтому проверка временных меток не выполняется, поскольку он сравнивает файл с самим собой. Следовательно, CodeBlocks не компилирует код, а вместо этого пытается запустить его напрямую, что приводит к ошибке, поскольку исходный файл не является исполняемым. (Это не будет проблемой для исполняемого исходного кода, такого как скрипты оболочки.)
Поэтому всегда сохраняйте исходный код C/C++ с соответствующим расширением при использовании CodeBlocks (и вообще).