2011-11-09 376 views
0

我正在使用Visual Studio C++ 2010.我的程序工作正常,直到我在box2d中链接,现在出现此错误。错误LNK2019:无法解析的外部符号_glutMainLoop @ 0在函数_main中引用

错误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; 
} 

回答

0

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

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

+0

非常好,谢谢。 sysWOW64工作。我将为未来保留第一部分。 – user1031643

相关问题