Hallo zusammen,
ich will ein bisschen mit c++ sdl und opengl herumspielen und habe nun beim starten meines Programmes das Problem, dass immer diese Mehldung ausgespuckt wird.
cd '/home/stephan/Documents/kdev/test_00/simple_opengl/debug/./src' && WANT_AUTOCONF_2_5="1" WANT_AUTOMAKE_1_6="1" LC_MESSAGES="C" LC_CTYPE="C" gmake -k simple_opengl
Kompilieren der Datei simple_opengl.cpp (g++)
mv -f .deps/simple_opengl.Tpo .deps/simple_opengl.Po
Linken der Datei simple_opengl (g++)
g++: unrecognized option '-R/usr/lib'
simple_opengl.o: In function `Render()':
/home/stephan/Documents/kdev/test_00/simple_opengl/src/simple_opengl.cpp:43: undefined reference to `glClear'
/home/stephan/Documents/kdev/test_00/simple_opengl/src/simple_opengl.cpp:45: undefined reference to `glBegin'
/home/stephan/Documents/kdev/test_00/simple_opengl/src/simple_opengl.cpp:46: undefined reference to `glColor3f'
/home/stephan/Documents/kdev/test_00/simple_opengl/src/simple_opengl.cpp:47: undefined reference to `glVertex3f'
/home/stephan/Documents/kdev/test_00/simple_opengl/src/simple_opengl.cpp:48: undefined reference to `glColor3f'
/home/stephan/Documents/kdev/test_00/simple_opengl/src/simple_opengl.cpp:49: undefined reference to `glVertex3f'
/home/stephan/Documents/kdev/test_00/simple_opengl/src/simple_opengl.cpp:50: undefined reference to `glColor3f'
/home/stephan/Documents/kdev/test_00/simple_opengl/src/simple_opengl.cpp:51: undefined reference to `glVertex3f'
/home/stephan/Documents/kdev/test_00/simple_opengl/src/simple_opengl.cpp:52: undefined reference to `glEnd'
simple_opengl.o: In function `Init_OpenGL()':
/home/stephan/Documents/kdev/test_00/simple_opengl/src/simple_opengl.cpp:33: undefined reference to `glClearColor'
/home/stephan/Documents/kdev/test_00/simple_opengl/src/simple_opengl.cpp:35: undefined reference to `glShadeModel'
collect2: ld returned 1 exit status
gmake: *** [simple_opengl] Error 1
*** Beendet mit Status: 2 ***
mein Quellcode:
Nach einer Weile Google glaube ich nun, dass ich irgendwelche Einstellungen noch nicht getätigt habe.
Hat jemand eine Idee?
mfg
squee
ich will ein bisschen mit c++ sdl und opengl herumspielen und habe nun beim starten meines Programmes das Problem, dass immer diese Mehldung ausgespuckt wird.
cd '/home/stephan/Documents/kdev/test_00/simple_opengl/debug/./src' && WANT_AUTOCONF_2_5="1" WANT_AUTOMAKE_1_6="1" LC_MESSAGES="C" LC_CTYPE="C" gmake -k simple_opengl
Kompilieren der Datei simple_opengl.cpp (g++)
mv -f .deps/simple_opengl.Tpo .deps/simple_opengl.Po
Linken der Datei simple_opengl (g++)
g++: unrecognized option '-R/usr/lib'
simple_opengl.o: In function `Render()':
/home/stephan/Documents/kdev/test_00/simple_opengl/src/simple_opengl.cpp:43: undefined reference to `glClear'
/home/stephan/Documents/kdev/test_00/simple_opengl/src/simple_opengl.cpp:45: undefined reference to `glBegin'
/home/stephan/Documents/kdev/test_00/simple_opengl/src/simple_opengl.cpp:46: undefined reference to `glColor3f'
/home/stephan/Documents/kdev/test_00/simple_opengl/src/simple_opengl.cpp:47: undefined reference to `glVertex3f'
/home/stephan/Documents/kdev/test_00/simple_opengl/src/simple_opengl.cpp:48: undefined reference to `glColor3f'
/home/stephan/Documents/kdev/test_00/simple_opengl/src/simple_opengl.cpp:49: undefined reference to `glVertex3f'
/home/stephan/Documents/kdev/test_00/simple_opengl/src/simple_opengl.cpp:50: undefined reference to `glColor3f'
/home/stephan/Documents/kdev/test_00/simple_opengl/src/simple_opengl.cpp:51: undefined reference to `glVertex3f'
/home/stephan/Documents/kdev/test_00/simple_opengl/src/simple_opengl.cpp:52: undefined reference to `glEnd'
simple_opengl.o: In function `Init_OpenGL()':
/home/stephan/Documents/kdev/test_00/simple_opengl/src/simple_opengl.cpp:33: undefined reference to `glClearColor'
/home/stephan/Documents/kdev/test_00/simple_opengl/src/simple_opengl.cpp:35: undefined reference to `glShadeModel'
collect2: ld returned 1 exit status
gmake: *** [simple_opengl] Error 1
*** Beendet mit Status: 2 ***
mein Quellcode:
Code:
#include <SDL/SDL.h>
#include <SDL/SDL_opengl.h>
#define TRUE 1
#define FALSE 0
void Init_OpenGL()
{
SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1); //doublebuffering soll verwendet werden
glClearColor(0.0f, 0.0f, 0.0f, 0.0f); //schwarzer Hintergrund (dazu mehr in der render-Funktion)
glShadeModel(GL_SMOOTH); //weichere Farbübergänge auf Körpern
}
void Render()
{
c glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_TRIANGLES);
glColor3f(0.0f, 0.0f, 1.0f);
glVertex3f(0.0f, 0.5f, 0.0f);
glColor3f(1.0f, 0.0f, 0.0f);
glVertex3f(0.5f, -0.5f, 0.0f);
glColor3f(0.0f, 1.0f, 0.0f);
glVertex3f(-0.5f, -0.5f, 0.0f);
glEnd();
SDL_GL_SwapBuffers();
}
int main(int argc, char *argv[])
{
SDL_Event ev;
int done = FALSE;
SDL_SetVideoMode(800, 500, 32, SDL_OPENGL);
Init_OpenGL();
while(!done)
{
SDL_PollEvent(&ev);
if(ev.type == SDL_QUIT || ev.key.keysym.sym == SDLK_ESCAPE)
done = TRUE;
Render();
}
SDL_Quit();
return 0;
}
Nach einer Weile Google glaube ich nun, dass ich irgendwelche Einstellungen noch nicht getätigt habe.
Hat jemand eine Idee?
mfg
squee