【问题标题】:error LNK2019: unresolved external symbol _glutMainLoop@0 referenced in function _main错误 LNK2019:函数 _main 中引用了未解析的外部符号 _glutMainLoop@0
【发布时间】:2011-11-09 14:05:22
【问题描述】:

我正在使用 Visual Studio c++ 2010。我的程序运行良好,直到我在 box2d 中链接,现在出现此错误。

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

我什至没有包含box2d,只是链接

所以我在 glut32.lib 文件中进行了链接,然后我收到一条错误消息,指出 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;
}

【问题讨论】:

    标签: c++ opengl linker box2d glut


    【解决方案1】:

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

    您描述的情况,DLL 文件存在于 system32 中但未找到,很可能是因为您的应用是 32 位的,因此在名为 SysWOW64 的 32 位 system32 文件夹中查找。

    【讨论】:

    • 太棒了,谢谢。 sysWOW64 工作。我会记住第一部分以备将来使用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-18
    • 2013-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多