Pergunta

No meu programa OpenGL simples, recebo o seguinte erro sobre a redefinição de saída:

1>c:\program files\microsoft visual studio 8\vc\include\stdlib.h(406) : error C2381: 'exit' : redefinition; __declspec(noreturn) differs
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\gl\glut.h(146) : see declaration of 'exit'

Estou usando o Nate Robins GLUT para Win32 e obtenha este erro com o Visual Studio 2005 ou Visual C++ 2005 (Express Edition).Qual é a causa desse erro e como posso corrigi-lo?

Foi útil?

Solução

Causa:

O stdlib.h que acompanha as versões recentes do Visual Studio tem uma definição diferente (e conflitante) do saída() função.Isso entra em conflito com a definição em glut.h.

Solução:

Substitua a definição em glut.h pela definição em stdlib.h.Coloque a linha stdlib.h acima da linha glut.h no seu código.

#include <stdlib.h>
#include <GL/glut.h>

Outras dicas

ou isto...Para corrigir o erro, clique com o botão direito no nome do projeto na guia Solution Explorer e selecione Propriedades -> C/C++ -> Pré-processador -> Definições do pré-processador e anexe GLUT_BUILDING_LIB às definições existentes, separadas por ponto e vírgula.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top