Então, instalei recentemente o Linux depois de usar o Windows por toda a minha vida. Também acabei de instalar o IDE C++ nomeado code::blocks
usando o seguinte comando no terminal:
sudo apt-get install codeblocks
Agora, sempre que tento executar algum código-fonte, recebo este erro
sh:1 /home/daniel/Desktop/Hey: Permission Denied
Alguma ajuda/solução?
Responder1
O comportamento normal do CodeBlocks ao trabalhar em um único arquivo (em oposição a um projeto) é usar o nome do arquivo sem qualquer extensão como o nome do executável compilado. Então hello.cpp
produzirá um binário chamado hello
. CodeBlocks verifica os carimbos de data/hora dos arquivos para ver se a compilação é necessária. Isso é interrompido quando o arquivo não tem extensão: um arquivo de origem nomeado hello
teria um arquivo binário nomeado hello
do ponto de vista do CodeBlocks. Portanto, a verificação do carimbo de data/hora falha, pois está comparando o arquivo consigo mesmo. Conseqüentemente, o CodeBlocks não compila o código e, em vez disso, tenta executá-lo diretamente, onde falha porque o arquivo de origem não é um executável. (Isso não será um problema para código-fonte executável, como scripts de shell.)
Portanto, sempre salve o código-fonte C/C++ com uma extensão apropriada ao usar CodeBlocks (e em geral também).