glu.h PROBLEMAS!
Ok, eu estou instalando os estúdios visuais C ++ 10 no Windows 7 para que eu possa executar os exemplos de programas deste livro "OpenGL superbible 5th edition", mas estou tendo algumas PROBLEMAS PRINCIPAIS, para fazer com que o GLTools e o freeglut funcionem:
Veja como eu configuro tudo até agora .......................
@fist seguiu estas etapas e fiquei on-line:
primeiro você quer baixar excesso ou freeglut e descompacte-o ofc.
- peguei isso no arquivo zip emhttp: //www.starstonesoftware.com/OpenGL
Na pasta freeglut, deve haver uma pasta chamada VisualStudio2008, entre ness
Deve haver um arquivo de projeto do VS chamado freeglut, execute-o e clique em Concluir se a janela de conversão aparecer. Em seguida, compile-o; se, quando estiver pronto, não for possível iniciar, tudo be
gora, na mesma pasta, deve haver uma nova pasta chamada Debug, pois você acabou de compilar o freeglut para ela:
Inside você encontrará freeglut.dll. Isso precisa ir para a pasta system32 ou para o SysWOW64, respectivament
Responda que, como esse é um arquivo chamado freeglut, seu tipo será Object File Library. Isso precisa ir para sua pasta lib no Visual studio.
Agora volte para a pasta principal do freeglut. Deve haver uma pasta chamada Incluir. e dentro disso uma pasta chamada GL e dois arquivos. Eles precisam ser copiados para a pasta Incluir no Visual Studio.
As pastas lib e Include estão dentro da pasta VC, que está na pasta principal do Visual Studio, que para mim é o Microsoft Visual Studio 10.
There :).
Então segui estas etapas para configurar o GLTools e o freeglut:
sso requer permissão de administrador no computado
Eu. Copie todos os arquivos de cabeçalho do freeglut (terminando em .h) na pasta: C: \ Arquivos de Programas \ Microsoft Visual Studio 10.0 \ VC \ include \ GL \
ii. Copie todos os arquivos de cabeçalho do GLTools (terminando em .h) em C: \ Arquivos de Programas \ Microsoft Visual Studio 10.0 \ VC \ include \
iii. Copie todos os arquivos de biblioteca freeglut e GLTools (terminando em .lib) para C: \ Arquivos de Programas \ Microsoft Visual Studio 10.0 \ VC \ lib \
iv. Mesmo que você tenha copiado o GLTools.lib na pasta lib, talvez seja necessário solicitar ao VS2010 para usar o arquivo GLTools.lib ao compilar seus projetos. Abra o Gerenciador de propriedades (você precisará de um projeto aberto para fazer isso), na opção de menu Exibir → Gerenciador de propriedades. O painel esquerdo do VS IDE mudará para mostrar o gerente da propriedade. Você pode redimensionar isso para torná-lo mais legível. Expanda o projeto se a lista completa não for mostrada e clique duas vezes em um dos links Microsoft.Cpp.Win32.user para abrir a caixa de diálogo de propriedades do usuário. No Gerenciador de propriedades, selecione Vinculador → Entrada e clique em Dependências adicionais (veja abaixo). Na caixa de diálogo exibida, adicione "GLTools.lib", também adicionei feeglut_static.lib a isso!
Tudo bem, então, finalmente, aqui está o código que estou tentando executar:
#include <GLTools.h> // OpenGL toolkit
#include <GLShaderManager.h> // Shader Manager Class
#ifdef __APPLE__
#include <glut/glut.h> // OS X version of GLUT
#else
#define FREEGLUT_STATIC
#include <GL/glut.h> // Windows FreeGlut equivalent
#endif
GLBatch triangleBatch;
GLShaderManager shaderManager;
///////////////////////////////////////////////////////////////////////////////
// Window has changed size, or has just been created. In either case, we need
// to use the window dimensions to set the viewport and the projection matrix.
void ChangeSize(int w, int h)
{
glViewport(0, 0, w, h);
}
///////////////////////////////////////////////////////////////////////////////
// This function does any needed initialization on the rendering context.
// This is the first opportunity to do any OpenGL related tasks.
void SetupRC()
{
// Blue background
glClearColor(0.0f, 0.0f, 1.0f, 1.0f );
shaderManager.InitializeStockShaders();
// Load up a triangle
GLfloat vVerts[] = { -0.5f, 0.0f, 0.0f,
0.5f, 0.0f, 0.0f,
0.0f, 0.5f, 0.0f };
triangleBatch.Begin(GL_TRIANGLES, 3);
triangleBatch.CopyVertexData3f(vVerts);
triangleBatch.End();
}
///////////////////////////////////////////////////////////////////////////////
// Called to draw scene
void RenderScene(void)
{
// Clear the window with current clearing color
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);
GLfloat vRed[] = { 1.0f, 0.0f, 0.0f, 1.0f };
shaderManager.UseStockShader(GLT_SHADER_IDENTITY, vRed);
triangleBatch.Draw();
// Perform the buffer swap to display back buffer
glutSwapBuffers();
}
///////////////////////////////////////////////////////////////////////////////
// Main entry point for GLUT based programs
int main(int argc, char* argv[])
{
gltSetWorkingDirectory(argv[0]);
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH | GLUT_STENCIL);
glutInitWindowSize(800, 600);
glutCreateWindow("Triangle");
glutReshapeFunc(ChangeSize);
glutDisplayFunc(RenderScene);
GLenum err = glewInit();
if (GLEW_OK != err) {
fprintf(stderr, "GLEW Error: %s\n", glewGetErrorString(err));
return 1;
}
SetupRC();
glutMainLoop();
return 0;
}
e FINALMENTE FINALMENTE, aqui estão os erros que estou recebendo:
1>------ Build started: Project: Triangle, Configuration: Debug Win32 ------
1> Triangle.cpp
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\gl\glu.h(225): error C2144: syntax error : 'void' should be preceded by ';'
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\gl\glu.h(225): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\gl\glu.h(226): error C2144: syntax error : 'void' should be preceded by ';'
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\gl\glu.h(226): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\gl\glu.h(226): error C2086: 'int GLAPI' : redefinition
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\gl\glu.h(225) : see declaration of 'GLAPI'
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\gl\glu.h(227): error C2144: syntax error : 'void' should be preceded by ';'
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\gl\glu.h(227): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\gl\glu.h(227): error C2086: 'int GLAPI' : redefinition
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\gl\glu.h(225) : see declaration of 'GLAPI'
erro C1003: a contagem de erros excede 100; parando a compilação
Isto continua SEMPRE e não sei como pode haver esse problema, e por que está acontecendo no GLU.h! Eu realmente não tenho certeza do que está errado e eu tenho esse problema há uma semana ... POR FAVOR AJUDE =)
obrigado e sinta-se à vontade para fazer qualquer pergunt