2011-11-09 78 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

相關問題