ошибка LNK2019: неразрешенный внешний символ _glutMainLoop @ 0, указанный в функции _main - PullRequest
0 голосов
/ 09 ноября 2011

Я использую 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;
}

1 Ответ

0 голосов
/ 09 ноября 2011

Самый простой способ решить эту проблему - поместить файлы DLL в тот же каталог, что и исполняемый файл. Это гарантирует, что загруженные версии - это именно те версии, которые вам нужны

Ситуация, которую вы описываете, файлы DLL, присутствующие в system32, но не найденные, скорее всего, потому что ваше приложение 32-битное и поэтому выглядит в 32-битной папке system32, которая называется SysWOW64.

...