1

我有从opengl示例代码中获取的这段代码:

#include <GL/glut.h>

// Display callback ------------------------------------------------------------

void display()
{
    // clear the draw buffer .
    glClear(GL_COLOR_BUFFER_BIT);   // Erase everything

    // set the color to use in draw
    glColor3f(0.5, 0.5, 0.0);       
    // create a polygon ( define the vertexs) 
    glBegin(GL_POLYGON); {           
        glVertex2f(-0.5, -0.5);
        glVertex2f(-0.5,  0.5);
        glVertex2f( 0.5,  0.5);
        glVertex2f( 0.5, -0.5);
    } glEnd();

    // flush the drawing to screen . 
    glFlush(); 
}

// Keyboard callback function ( called on keyboard event handling )
void keyboard(unsigned char key, int x, int y)
{
    if (key == 'q' || key == 'Q')
        exit(EXIT_SUCCESS);
}

// Main execution  function 
int main(int argc, char *argv[])
{
    glutInit(&argc, argv);      // Initialize GLUT
    glutCreateWindow("OpenGL example");  // Create a window
    glutDisplayFunc(display);   // Register display callback
    glutKeyboardFunc(keyboard); // Register keyboard callback
    glutMainLoop();             // Enter main event loop

    return (EXIT_SUCCESS);
} 

它应该工作正常吗?但是当我运行它时:

Error   1   error LNK2019: unresolved external symbol __imp__glutMainLoop@0 referenced in function _main    C:\Users\Naor\documents\visual studio 2012\Projects\test\test\Source.obj    test
Error   2   error LNK2019: unresolved external symbol __imp__glutKeyboardFunc@4 referenced in function _main    C:\Users\Naor\documents\visual studio 2012\Projects\test\test\Source.obj    test
Error   3   error LNK2019: unresolved external symbol __imp__glutDisplayFunc@4 referenced in function _main C:\Users\Naor\documents\visual studio 2012\Projects\test\test\Source.obj    test
Error   4   error LNK2019: unresolved external symbol __imp____glutInitWithExit@12 referenced in function _glutInit_ATEXIT_HACK@8   C:\Users\Naor\documents\visual studio 2012\Projects\test\test\Source.obj    test
Error   5   error LNK2019: unresolved external symbol __imp____glutCreateWindowWithExit@8 referenced in function _glutCreateWindow_ATEXIT_HACK@4    C:\Users\Naor\documents\visual studio 2012\Projects\test\test\Source.obj    test
Error   6   error LNK1120: 5 unresolved externals   C:\Users\Naor\documents\visual studio 2012\Projects\test\Debug\test.exe 1   1   test

我正确安装了opengl,freeglut(我的意思是,它运行并且vc++发现没问题),但我无法运行我找到的任何源代码..(同样的错误)

4

1 回答 1

2

找到答案,任何有此类问题的人请检查以下内容:

  1. 您链接了您的库并正确包含。(建议使用 32 位,修复了我的错误)。
  2. 完成此操作后,您可能会收到无法打开或找不到某些 dll 文件的错误。
  3. 检查它是什么 dll(在错误消息中),将其复制到您的 exe 所在的位置(用于调试模式到 Debug 文件夹,然后发布到 Release 文件夹)。

希望解决了您的错误:)

于 2013-10-16T11:14:24.793 回答