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

[Dúvida] Erro compilação

Olá. Estou recebendo o seguinte retorno quando compilo:

"
PS C:\Users\ajans\OneDrive\Documentos\C> g++ *.cpp -o forca.exe
/usr/lib/gcc/x86_64-pc-cygwin/11/../../../../x86_64-pc-cygwin/bin/ld: /cygdrive/c/Users/ajans/AppData/Local/Temp/ccSJAkLU.o:jogodaforca.cp:(.text+0x0): multiple definition of `main'; /cygdrive/c/Users/ajans/AppData/Local/Temp/ccw4iUCs.o:jogodaadivinhacao.cpp:(.text+0x0): first defined here
collect2: error: ld returned 1 exit status
PS C:\Users\ajans\OneDrive\Documentos\C> 
"

Comparei com todo o arquivo do curso e não achei nada errado. Não achei nada duplicado.

Preciso de ajuda.

2 respostas
solução!

Oi, André! Tudo bem?

De acordo com o erro recebido parece que temos múltiplas definições da função main nos arquivos .cpp, porém, em C++, cada programa deve ter apenas uma função main, que é o ponto de entrada do programa.

Nesse caso, estamos compilando todos os arquivos .cpp no diretório (g++ *.cpp -o forca.exe), e parece que dois desses arquivos (jogodaforca.cpp e jogodaadivinhacao.cpp) contêm uma definição da função main.

Para resolver isso, podemos abrir os arquivos jogodaforca.cpp e jogodaadivinhacao.cpp e verificar se ambos têm a função main. Se sim, precisaremos decidir qual deles deve conter a função main e remover ou renomear a função main no outro arquivo.

Podemos também compilar separadamente, se estivermos desenvolvendo dois programas diferentes, por exemplo:

g++ jogodaforca.cpp -o jogodaforca.exe
g++ jogodaadivinhacao.cpp -o jogodaadivinhacao.exe

Espero ter ajudado!

Um forte abraço e bons estudos!

Caso este post tenha te ajudado, por favor, marcar como solucionado ✓

Não me atentei que tinha 2 programas na mesma pasta. Coisas de iniciante rs. Muito obrigado.