Ich installierte OpenGL-Pakete in Ubuntu 13.04 (*mesa-common-dev freeglut3-dev*
) und versuchte, ein Beispielprogramm auszuführen.Linkerfehler: undefinierter Verweis auf Symbol 'GlOrtho'
#include "GL/freeglut.h"
#include "GL/gl.h"
/* display function - code from:
http://fly.cc.fer.hr/~unreal/theredbook/chapter01.html
This is the actual usage of the OpenGL library.
The following code is the same for any platform */
void renderFunction()
{
glClearColor(0.0, 0.0, 0.0, 0.0);
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0, 1.0, 1.0);
glOrtho(-1.0, 1.0, -1.0, 1.0, -1.0, 1.0);
glBegin(GL_POLYGON);
glVertex2f(-0.5, -0.5);
glVertex2f(-0.5, 0.5);
glVertex2f(0.5, 0.5);
glVertex2f(0.5, -0.5);
glEnd();
glFlush();
}
/* Main method - main entry point of application
the freeglut library does the window creation work for us,
regardless of the platform. */
int main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE);
glutInitWindowSize(500,500);
glutInitWindowPosition(100,100);
glutCreateWindow("OpenGL - First window demo");
glutDisplayFunc(renderFunction);
glutMainLoop();
return 0;
}
Allerdings bin ich auf diesen Fehler gestoßen und weiß nicht, was ich davon halten soll.
[email protected]:~/Desktop/p1$ g++ p1.cpp -lglut
/usr/bin/ld: /tmp/ccgGdeR2.o: undefined reference to symbol 'glOrtho'
/usr/bin/ld: note: 'glOrtho' is defined in DSO /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1 so try adding it to the linker command line
/usr/lib/x86_64-linux-gnu/mesa/libGL.so.1: could not read symbols: Invalid operation
collect2: error: ld returned 1 exit status
hatte ich einen Blick auf
OpenGL hello.c fails to build using CMake
als der Fehler ähnlich ist, aber ich bin mit CMake nicht
ist mein Code falsch oder muss ich schließen/ändern/einige Einstellungen optimieren?
bezeichnet habe ich diese Seite für die Installation und den Code ein:
Setting up an OpenGL development environment in Ubuntu Linux
Ich bin neu in opengl Programmierung, gibt es eine Methode, um den Prozess zu automatisieren, oder ich muss immer die Linker-Parameter wie oben für alle meine opengl-Programme angegeben hinzufügen? Ich habe den gleichen Link wie auf code projects für die Initialisierung meines Systems für opengl verwiesen und verwende Ubuntu 13.04. – meteors
In Linux musste ich zusätzlich "-GLLU" hinzufügen. – user1754322