2015-07-17 2 views
1

Я новичок в OpenGL, и теперь я пытаюсь привести примеры в книге, я включил все библиотеки и заголовки правильно, но кажется, что все еще что-то не происходит правильно.Ошибки с ошибками примера суперпользователя Opengl Исходный код: рисование треугольника

Эти заголовки, которые я включил:

enter image description hereenter image description hereenter image description here

Это код: данный messsages

// Triangle.cpp 
// Our first OpenGL program that will just draw a triangle on the screen. 
#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 the 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; 
} 

Ошибка:

1>------ Build started: Project: openglproj, Configuration: Debug Win32 ------ 
1>Compiling... 
1>Triangle.cpp 
1>d:\xing bizhou\project\openglproj\triangle.cpp(57) : error C2065: '“Triangle”' : undeclared identifier 
1>d:\xing bizhou\project\openglproj\triangle.cpp(62) : error C2065: '“GLEW' : undeclared identifier 
1>d:\xing bizhou\project\openglproj\triangle.cpp(62) : error C2146: syntax error : missing ')' before identifier 'Error' 
1>d:\xing bizhou\project\openglproj\triangle.cpp(62) : error C2017: illegal escape sequence 
1>d:\xing bizhou\project\openglproj\triangle.cpp(62) : error C2059: syntax error : ')' 
1>Build log was saved at "file://d:\XING BIZHOU\project\openglproj\openglproj\Debug\BuildLog.htm" 
1>openglproj - 5 error(s), 0 warning(s) 
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ========== 
+0

Мой видеоадаптера: Intel HD3000 –

ответ

3

Вы используете «довольно цитаты "в вашем c ода.

C++ ожидает специфики" для использования в качестве кавычек. Он не может быть заменен похожими символами.

Изменение:

“Triangle” и “GLEW Error: %s\n”

To:

"Triangle" и "GLEW Error: %s\n"

+0

Спасибо, это работает, но появляется новое сообщение об ошибке: 1> LINK: фатальная ошибка LNK1104: невозможно открыть файл 'freeglut_staticd.lib', но я добавил его в проект –

+1

Если thi s ответил на ваш вопрос, пожалуйста, отметьте его как принятый. Если у вас есть новый вопрос, вы можете [спросить] (http://stackoverflow.com/questions/ask) –

+1

ok, я начну новый вопрос –