Visual Studio 2012 C OpenGL GLFW链接器错误

我正在Visual Studio 2010 Express上使用OpenGL在C中制作2d侧滚动.我正在尝试编译我的代码,并且它可以正确构建,但是在main()函数中初始化的GLFW函数出现链接器错误.这是我的代码:

#include <iostream>
#include <ctime>


#include <GL\glfw.h>


#include "Player.h"


void render();
void update();


Player Player1;
 //Cross platform sleep implementation
void _sleep(double ms)
{
    double st = clock();
    if(ms <= 0)
            ms = 10;
    while(clock() < (ms + st));
}

int main(int argc, char** argv)
{
    std::cout <<"Loading Prized Fighter"<< std::endl;
    glfwInit(); //Initialize GLFW

    //Create GLFW window
    if(glfwOpenWindow(800, 600, 5, 6, 5, 0, 8, 0, GLFW_WINDOW) != GL_TRUE)
        std::cout << "Error creating window!" << std::endl;

    //Set window title
    glfwSetWindowTitle("Prized Fighter");

    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();

    //Start main game loop
    //This calls the functions which update objects and render them to the screen
    while(true)
    {
        update();
        render();

        glfwSwapBuffers(); //Switch buffers (double rendering)
        _sleep(10.0); //Let a bit of CPU time for other processes
    }

    return 0;
}

/*
     - Render function -
      Used to draw objects to the screen
*/
void render()
{
     glClearColor(0.0f, 0.0f, 0.0f, 0.0f); //Color to clear the screen
     glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

     //TODO: Draw stuff here
     Player1.draw();
}

/*
     - Update function -
     Updates objects; states, locations, etc
*/
void update()
{
     //TODO: Update objects here
     Player1.update();
}

编译时,出现以下错误:

1>—— Build started: Project: Prized Fighter, Configuration: Debug Win32 ——
1>main.obj : error LNK2019: unresolved external symbol _glfwSwapBuffers referenced in >function _WinMain@8

1>main.obj : error LNK2019: unresolved external symbol _glfwSetWindowTitle referenced in >function _WinMain@8

1>main.obj : error LNK2019: unresolved external symbol _glfwOpenWindow referenced in >function _WinMain@8

1>main.obj : error LNK2019: unresolved external symbol _glfwInit referenced in function >_WinMain@8

1>MSVCRTD.lib(crtexew.obj) : error LNK2019: unresolved external symbol WinMain@16 >referenced in function __tmainCRTStartup

1>c:\users\brennan\documents\visual studio 2010\Projects\Prized Fighter\Debug\Prized >Fighter.exe : fatal error LNK1120: 5 unresolved externals
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

链接过程中出了什么问题-代码中是否有错误?

解决方法:

看来您需要链接:

glfw.lib 
opengl32.lib

值得阅读发行说明:here

上一篇:C Opengl三角形正在绘制或根本不可见


下一篇:c – OpenGL – 鼠标坐标到空间坐标