2
respostas

stdio.h not found (linux mint)

ola! conclui esse curso usando o windows e agora migrei pro linux (estou querendo migrar definitivamente, mas no momento sou completamente novato, nunca usei linux antes) entao voltei aqui na primeira aula para seguir o passo a passo do professor para pegar a manha de compilar e executar usando o terminal (no windows eu nao tinha conseguido fazer pelo prompt de comando, entao estava usando o codeblocks que ele mesmo compila e executa) ja resolvi alguns problemas, como instalar o sublime text pelo terminal (uhuul) e o gcc (que depois descobri que pode ter sido algo que fiz em vao, porque o primeiro erro de compilacao foi na verdade erro de digitacao do nome do arquivo em c hehe) bom, agora estou recebendo uma nova mensagem de erro quando tento compilar, que diz que o arquivo ou diretorio stdio.h nao existe.. dei uma pesquisada em foruns do linux mint (ah eh.. eh ele que estou usando) mas nao entendi patavinas do que disseram por la kk o erro que recebo eh exatamente este

mint@mint:~/Documents$ gcc programateste.c -o programateste.out
programateste.c:1:10: fatal error: stdio.h: No such file or directory
    1 | #include <stdio.h>
      |          ^~~~~~~~~
compilation terminated.
mint@mint:~/Documents$ ls
programateste.c
erro-stdio-notfound

obs. ignore o desleixo na digitacao, eh que ainda nao configurei o teclado kk ah, o codigo do meu programa esta assim

#include <stdio.h>

main(){
    printf("Hello world!");
}
2 respostas

eu sempre digo que eh so reclamar que as coisas se resolvem...

logo depois de digitar aqui, tentei mais algumas consultas na internet e BAM achei uma solucao kk

postaram aqui como instala o stdio.h no linux mint, colei no meu terminal e deu tudo certo

foi so usar o comando

sudo apt-get install libc6-dev

depois compilei e deu certo

stdio-instalado-linuxmint

bom, ele deu esse erro ai de que por padrao ele atribuiu main() como int... eu tinha visto antes dos cursos da alura que era obrigatorio usar void antes de main, mas nao tinha ideia do que significava. agora (estou no segundo curso de c aqui da plataforma) sei que ele trata do tipo do valor que eh retornado pela funcao e que se usa o void quando a funcao nao retorna valor.. mas o professor nunca usou antes de main, e ai? eh necessario usar ou nao?

void main(){
    //algo legal acontece aqui
}

voidmain-linuxmint

Olá, Caique! Tudo bem?

Desculpa a demora em retornar.

Ótimo que conseguiu resolver o problema do stdio.h.

Sobre o void main e o int main, como você disse, usamos da seguinte forma:

  • void main

Você usará em funções que não te retornarão nenhum valor.

  • int main

Ele vai retornar um número.

Como o compilador avisou, como não foi especificado o tipo de saída do main, ele atribuiu o int.

Aqui você encontra uma explicação sobre a sintaxe e como ela funciona.

Abraços!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.Bons Estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software