Parece que no Ubuntu 18.04, o g ++ padrão fornecido (versão 7.3.0) é executado no modo compatível com C ++ 11 por padrão. Estou recebendo alguns erros nos meus códigos antigos que não são compatíveis com C ++ 11. Eu instalei o g ++ - 6 (versão 6.4.0) e os programas estão sendo compilados corretamente. É possível desativar o modo C ++ 11 em g ++ - 7?
11
std::auto_ptr
, ou usadoauto
em seu disfarce original, ou eles têm conversões estreitamento agora ilegais, ou que eles usaramexport
, ou, ou, ouRespostas:
Tente adicionar
-std=gnu++98
, provavelmente era o padrão para o gcc 6.4.0.Exemplo:
fonte
-D_GLIBCXX_USE_CXX11_ABI=0
bem-std=gnu++03
para o último padrão anterior ao C ++ 11. Também vale mencionar que-std=c++03
desativará algumas extensões GNU que são incompatíveis com o estrito ISO C ++.__cplusplus
: Como determinar a versão do padrão C ++ usado pelo compilador?No
man g++
você pode selecionar entre diferentes dialetos:fonte