PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : glutInit: Speicherzugriffsfehler



RoCMe
24-02-2006, 14:05
Hi!
Ich bin sicherlich kein C-Guru, aber eigentlich sollte es ausreichen!
Ich versuche mich zur Zeit in das Redbook einzulesen.
Dafür wollte ich mir zunächst ein Fenster mit glut anlegen, um dann die Beispiele nachvollziehen zu können... aber das klappt nicht!!!
Hier erst mal mein (irgendwo im Netz "geklauter" ) Code:



#include <stdio.h>
#include <stdlib.h>

#include <GL/glut.h>

void DrawScene(void)
{
//Hintergrundfarbe setzen (dunkles Rot)
glClearColor (0.5, 0.0, 0.0, 0.0);
glClear(GL_COLOR_BUFFER_BIT);

// Farbe des 5-Ecks setzen, (blau)
glColor3f(0.0, 0.1, 1.0);

//Polygonzug des 5-Ecks
glBegin(GL_POLYGON);
glVertex2f(-0.5, -0.5);
glVertex2f(-0.5, 0.5);
glVertex2f( 0.5, 0.5);
glVertex2f( 0.8, 0.0);
glVertex2f( 0.5, -0.5);
glEnd();

//vorangehende GL-Befehle zeichnen
glFlush();
}

int main(int argc, char *argv[])
{
// initialisiert GLUT
glutInit(argc, argv);
// initialisiere Ausgabefenster (Single Buffer, RBG Farb Modell)
glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);
// Fensterposition und -grösse setzen
glutInitWindowPosition (100, 100);
glutInitWindowSize (500, 500);
// Fenster erzeugen
glutCreateWindow (argv[0]);

// Callback-Funktion zum Zeichnen des GL-Objektes setzen
glutDisplayFunc(DrawScene);
// Hauptschleife
glutMainLoop();

return EXIT_SUCCESS;
}


Leider bekomme ich jetzt folgende Warnungen / Fehlermeldungen:


rocme@RoCMemobile:~/OpenGL> gcc -o HelloOpenGL test.c -lGL -lglut
test.c: In function ‘main’:
test.c:32: warning: passing argument 1 of ‘glutInit’ makes pointer from integer without a cast
rocme@RoCMemobile:~/OpenGL> ./HelloOpenGL
Speicherzugriffsfehler
rocme@RoCMemobile:~/OpenGL>


Sorry, aber ich hab keine Ahnung was das heißt... ich weiß nämlichüberhaupt nicht, was argc in Zeile 32 darstellt oder wo es herkommt :(
Hoffe, ihr könnt mir helfen!!!
mfg
RoCMe

musketaquid
24-02-2006, 14:55
ich weiß nämlichüberhaupt nicht, was argc in Zeile 32 darstellt
http://www.gnu.org/software/libc/manual/html_node/Program-Arguments.html#Program-Arguments

passing argument 1 of ‘glutInit’ makes pointer from integer without a cast
Mit man glutInit erfährst du näheres über glutInit.

jeebee
24-02-2006, 19:00
meine Vermutung, mit

glutInit(&argc, &argv)
funktionierts, da glutInit die Speicher-Adressen von argc und argv erwartet.