glutBitmapCharacter () выдаёт ошибку ссылки c ++ - PullRequest
0 голосов
/ 30 октября 2019

Я пытаюсь создать текст в окне, используя функцию. Когда у меня есть glutBitmapCharacter () в коде, я получаю эту ошибку: LNK2019 unresolved external symbol __imp__glutBitmapCharacter@8 referenced in function "void __cdecl drawText(char const *,int,int,int)" (?drawText@@YAXPBDHHH@Z)

Функция drawText:

 void drawText(const char* text, int length, int x, int y) {
     glMatrixMode(GL_PROJECTION);
     double* matrix = new double[16];
     glGetDoublev(GL_PROJECTION_MATRIX, matrix);
     glLoadIdentity();
     glOrtho(0, 800, 0, 600, -5, 5);
     glMatrixMode(GL_MODELVIEW);
     glLoadIdentity();
     glPushMatrix();
     glLoadIdentity();
     glRasterPos2i(x, y);
     for (int i=0; i<length; i++) {
         glutBitmapCharacter(GLUT_BITMAP_9_BY_15, (int)text[i]);
     }
     glPopMatrix();
     glMatrixMode(GL_PROJECTION);
     glLoadMatrixd(matrix);
     glMatrixMode(GL_MODELVIEW);
 }

Основная функция:

 int main() {
    int windowWidth = 1024, windowHeight = 1024;
    if (!glfwInit())
        return -1;


GLFWwindow* window;
window = glfwCreateWindow(windowWidth, windowHeight, "electroCraft", NULL, NULL);
glfwMakeContextCurrent(window); // stes the specified window as active INACTIVE SCREEN IF WINDOW NOT CURRENT!!!!
if (!window) {
    glfwTerminate();
    printf("Screen failed to start. ABORTING...\n");
    return -1;
}
glMatrixMode(GL_PROJECTION);
glViewport(0, 0, windowWidth, windowHeight);
glOrtho(0, windowWidth, 0, windowHeight, -1, 1);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glEnable(GL_DEPTH_TEST);
string title;
title = "Hello World!";
while (!glfwWindowShouldClose(window)) {
    glClearColor(62.0f / 255.0f, 85.9f / 255.0f, 255.0 / 255.0, 0.0);
    glClear(GL_DEPTH_BUFFER_BIT | GL_COLOR_BUFFER_BIT);

    //begin drawing
    drawText(title.data(), title.size(), windowWidth / 2, windowHeight / 2);

    glfwSwapBuffers(window);
    glfwPollEvents();
}
glfwTerminate();
return 0;

}

Я почти уверен, что получаю эту ошибку, возможно, из-за того, что библиотека не связана должным образом, но у меня нет других проблем с любым другим кодом здесь из библиотек opengl

1 Ответ

0 голосов
/ 31 октября 2019

Проблема заключалась в том, что я использовал 32-битные библиотеки и 64-битные библиотеки вместе, что вызывало и другие ошибки. Я исправил это, загрузив все необходимые 64-битные библиотеки и затем перезапустив мой проект как 64-битный проект

...