1
resposta

Erro compilação - std::__cxx11

Ao tentar compilar o arquivo forca.cpp gera os erros abaixo:

,,C:\Users\epmsimm\AppData\Local\Temp\ccigcgJD.o:forca.cpp:(.text+0xb6): undefined reference to sorteia_palavra[abi:cxx11]()' C:\Users\epmsimm\AppData\Local\Temp\ccigcgJD.o:forca.cpp:(.text+0x137): undefined reference tonao_acertou(std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::map<char, bool, std::less, std::allocator<std::pair<char const, bool> > >)' C:\Users\epmsimm\AppData\Local\Temp\ccigcgJD.o:forca.cpp:(.text+0x1b4): undefined reference to imprime_erros(std::vector<char, std::allocator<char> >)' C:\Users\epmsimm\AppData\Local\Temp\ccigcgJD.o:forca.cpp:(.text+0x1fb): undefined reference toimprime_palavra(std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::map<char, bool, std::less, std::allocator<std::pair<char const, bool> > >)' C:\Users\epmsimm\AppData\Local\Temp\ccigcgJD.o:forca.cpp:(.text+0x223): undefined reference to chuta(std::map<char, bool, std::less<char>, std::allocator<std::pair<char const, bool> > >*, std::vector<char, std::allocator<char> >*)' C:\Users\epmsimm\AppData\Local\Temp\ccigcgJD.o:forca.cpp:(.text+0x262): undefined reference tonao_acertou(std::_cxx11::basicstring<char, std::char_traits, std::allocator >, std::map<char, bool, std::less, std::allocator<std::pair<char const, bool> > >)' C:\Users\epmsimm\AppData\Local\Temp\ccigcgJD.o:forca.cpp:(.text+0x311): undefined reference to `adiciona_palavra()'

O que há de comum neles é a informação __cxx11 e não consigo corrigir este erro. Do que se trata? Como corrigir?

1 resposta

Olá, Wilson! Tudo bem?

Desculpe a demora em dar um retorno!

Esse erro parece ser por conta C++11.

Como você compilou o seu código?

Algo que pode solucionar é compilar utilizando o:

make forca

Isso é o mesmo que utilizar:

g++ -std=c++11 forca.cpp -o forca

Após isso, você pode executar o programa utilizando ./forca.

Vale ressaltar que o executável forca será diferente do executável forca.exe que era criado utilizando apenas o g++ forca.cpp -o forca.exe. É possível verificar através dos arquivos disponíveis na pasta onde estão salvos os programas.

Espero ter ajudado. Caso não solucione ou tenha alguma dúvida, estou à disposição.

Abraços e bons estudos :)