无法编译任何opengl / freeglut / glut源代码

时间:2013-10-16 10:47:27

标签: c++ opengl

我有这个代码,我从一个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 ++发现没问题), 但我无法运行任何我发现的源代码..(相同的错误)

1 个答案:

答案 0 :(得分:2)

找到答案,对于遇到此类问题的人,请查看以下内容:

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