lima-city: Webhosting, Domains und Cloud
1 Pluspunkt 0 Minuspunkte

Ich habe ein Programm mit GLFW geschrieben.

#include <GLFW/glfw3.h>

int main(void)
{
    GLFWwindow* window;

    if (!glfwInit())
        return -1;

    window = glfwCreateWindow(640, 480, "Hello World", NULL, NULL);
    if (!window)
    {
        glfwTerminate();
        return -1;
    }

    glfwMakeContextCurrent(window);

    while (!glfwWindowShouldClose(window))
    {

        glClear(GL_COLOR_BUFFER_BIT);

        glfwSwapBuffers(window);

        glfwPollEvents();
        
    }

    glfwTerminate();
    return 0;
    
}

Wenn ich es mit

g++ main.cpp -o main -Iinclude -Llib-mingw -lglfw3dll

kompilieren will bekomme ich diesen Fehler:

C:\Users\david\AppData\Local\Temp\ccAP4fZK.o:main.cpp:(.text+0x96): undefined reference to `_imp__glClear@4'
collect2.exe: error: ld returned 1 exit status
von  

1 Antwort

0 Pluspunkte 0 Minuspunkte

Die Funktion glClear ist Teil von OpenGL, nicht von GLFW. Füge die Option "-lopengl32" zu deinem Kompilierungsbefehl hinzu. Das sagt dem Linker explizit, die OpenGL Bibliothek zu verwenden.

g++ main.cpp -o main -Iinclude -Llib-mingw -lglfw3dll -lopengl32

von (397 Punkte)  
Diese Community basiert auf dem Prinzip der Selbstregulierung. Beiträge werden von Nutzern erstellt, bewertet und verbessert – ganz ohne zentrale Moderation.

Wer hilfreiche Fragen stellt oder gute Antworten gibt, sammelt Punkte. Mit steigender Punktzahl erhalten Mitglieder automatisch mehr Rechte, zum Beispiel

  • Kommentare verfassen
  • Fragen und Antworten bewerten
  • Themen von Fragen bearbeiten
  • Fragen, Antworten und Kommentare bearbeiten
  • Inhalte ausblenden

So entsteht eine Plattform, auf der sich Qualität durchsetzt – getragen von einer engagierten Gemeinschaft.

2.3k Fragen

2.8k Antworten

261 Kommentare

13 Nutzer