错误LNK2019:未解析的外部符号_glutMainLoop@0在函数_main中引用

error LNK2019: unresolved external symbol _glutMainLoop@0 referenced in function _main

本文关键字:glutMainLoop@0 函数 main 引用 符号 外部 LNK2019 错误      更新时间:2023-10-16

我使用Visual studio c++ 2010。我的程序工作正常,直到我链接到box2d,现在这个错误出现了。

错误LNK2019:未解析的外部符号_glutMainLoop@0在函数_main中引用

我甚至没有包括box2d,只是链接了

所以我链接了glut32。然后我得到一个错误,说glut32.dll文件不存在,但我可以很清楚地看到它确实存在于我的system32文件夹。

我错过了什么吗?这简直要把我逼疯了。

如果我删除到box2d的链接,glut和gl将重新开始工作。

这是代码-没什么特别的。

#include <GL/glut.h>
#include "Sprite.h"
#include "RLBitmap.h"
#define windowWidth 800
#define windowHeight 600
void display(){
    glClear(GL_COLOR_BUFFER_BIT);
    glFlush();
}
void init(){
}
int main(int argc,char** argv){
    glutInit(&argc,argv);
    glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA);
    glutInitWindowSize(windowWidth, windowHeight);
    glutCreateWindow("Bitmap Demo");
    glClearColor(0.0, 0.0, 0.0, 0.0);
    gluOrtho2D(0, windowWidth, 0, windowHeight);
    init();
    glutDisplayFunc(display);
    glutMainLoop();
    return 0;
}

解决这个问题的最简单方法是将DLL文件放在与可执行文件相同的目录中。这可以确保加载的版本正是你想要的版本

你所描述的情况,DLL文件存在于system32中,但没有找到,很可能是因为你的应用程序是32位的,所以在32位的system32文件夹中查找名为SysWOW64。