Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Não precisou do MakeFile

Olá,

Compilei aqui do jeito normal: g++ forca.cpp -o forca.exe (Windows) E funcionou normalmente, não foi necessário adicionar o "-std=c++11" nem fazer o arquivo MakeFile. Será devido a alguma versão mais nova do MinGw?

Outra dúvida, a ausência desse arquivo pode dar algum problema de compatibilidade no futuro?

Obrigada!

2 respostas
solução!

Anna, sei que sua dúvida tem 2 semanas com relação a minha resposta, mas entrei hoje aqui e vou deixar um resumo do que eu entendi pesquisando:

1) Nesse caso sem a flag "-std=c++11" o que pode ocorrer é deixar em função do compilador, a forma como o MinGw é criado pode ser que nele já, de alguma forma, coloca por configuração padrão do compilador presente nele de gerar o executável já com uma versão mais recente do c++ ou algo do gênero. A declaração explícita dela na linha de comando é mais por garantia de você obter o código desejado.

2) A ausência do arquivlo Makefile acarreta que, em caso de uma outra pessoa compilar o seu código, ela use a versão que ela quiser do c++. Não necessariamente terá problemas de compatibilidade no futuro, mas para garantir que qualquer um que possa vir a usar seu código se faz uso do Makefile e rode seu programa da maneira que você construiu de acordo com o que acha mais correto, o uso do arquivo se faz necessário.

Uma boa observação, é que o arquivo Makefile é apenas um arquivo de instruções para a build do executável pelo compilador através de um sistema de builds, que no curso introdutório foi usado o make pelo instrutor Gabriel.

Perfeito Augusto! Muito obrigada!

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