poscore Δημοσ. 15 Αυγούστου 2014 Δημοσ. 15 Αυγούστου 2014 Καλησπέρα σας, χρησιμοποιω win7 64 bit και θέλω να κάνω κάποιες ασκήσεις σε γραφικά με Opengl στο cygwin. δεν μπορώ να κάνω compile όμως, ξέρετε τι φταίει; δεν αναγνωρίζει τις βιβλιοθήκες. το έιχα φτιάξει πριν απο 4 χρόνια αλλά δεν θυμάμαι καθόλου τι είχα κάνει...
georgemarios Δημοσ. 18 Αυγούστου 2014 Δημοσ. 18 Αυγούστου 2014 Δε μπορεις να κανεις compile γενικα; Ενα hello world μπορεις να το κανεις; Αν ναι, τι error εχεις οταν κανεις compile την opengl εφαρμογη; Επισης τσεκαρε αν εχεις εγκαταστησει στο cygwin το πακετο opengl (απο τον installer) H εντολη για να κανεις compile ειναι $ gcc myprogram.c -lglut32 -lglu32 -lopengl32
gon1332 Δημοσ. 18 Αυγούστου 2014 Δημοσ. 18 Αυγούστου 2014 Εγώ σε Linux κάνω compile έτσι: g++ my_program.cpp -lglut -lGLU -lGL Το παραθέτω σε περίπτωση που κάτι δουλέψει μιας και το cygwin μεταφέρει το περιβάλλον Unix στο Windows (εκτός κι αν σου δούλεψε η απάντηση του georgemarios που μου φαίνεται πιο πιθανό). Δοκίμασε τα ονόματα των βιβλιοθηκών με ένα 32 στο τέλος, όπως σου έγραψε ο georgemarios.
poscore Δημοσ. 18 Αυγούστου 2014 Μέλος Δημοσ. 18 Αυγούστου 2014 δείτε λίγο την εικόνα. απλά λες και δεν βρίσκει τίποτα... τα είχα καταφε΄ρει με nvidia drivers παλια. τώρα έχω radeon καρτα και δεν ξέρω αν φταίει αυτό..
georgemarios Δημοσ. 18 Αυγούστου 2014 Δημοσ. 18 Αυγούστου 2014 Ειναι το αρχειο στο σωστο path? Ξαναρωτω, αν κανεις compile ενα απλo Hello World στο κανει;
poscore Δημοσ. 18 Αυγούστου 2014 Μέλος Δημοσ. 18 Αυγούστου 2014 Ειναι το αρχειο στο σωστο path? Ξαναρωτω, αν κανεις compile ενα απλo Hello World στο κανει; Το αρχείο που κάνω compile? Μα ναι...αλλιώς θα έβγαζε και άλλο λάθος. Είναι...απλά hello world σε C? Ναι φυσικά και κάθε άλλο πρόγραμμα σε C/C++/Java,,,απλά δεν μπορεί να κάνει Link τις βιβλιοθήκες της Opengl δεν ξέρω γιατί, ούτε ξέρω αν τις έχω στον υπολογιστή μου. Κανονικά έρχονται με τους drivers αλλά έχω μια υποψία πως δεν τους έχω γιατί δεν έβρισκα καθόλου glut αρχείο...
ChRis6 Δημοσ. 18 Αυγούστου 2014 Δημοσ. 18 Αυγούστου 2014 Δεν νομίζω οι drivers να έχουν και glut.Μόνο την υλοποίηση της opegl
poscore Δημοσ. 19 Αυγούστου 2014 Μέλος Δημοσ. 19 Αυγούστου 2014 ok...αλλά τώρα τι γίνεται; τι φταίει που δεν βρίσκει το cygwin τις βιβλιοθήκες; επειδη εχω 64bit?
ChRis6 Δημοσ. 19 Αυγούστου 2014 Δημοσ. 19 Αυγούστου 2014 Δεν έχω παίξει ποτέ με cygwin αλλά με μια απλή αναζήτηση ενός λεπτού βρήκα αυτό:https://www3.ntu.edu.sg/home/ehchua/programming/opengl/HowTo_OpenGL_C.html
poscore Δημοσ. 19 Αυγούστου 2014 Μέλος Δημοσ. 19 Αυγούστου 2014 Έχω ακολουθήσει αρκετούς οδηγούς. Όχι αυτό. Θα το δοκιμ΄σαω αύριο ευχαριστώ!
georgemarios Δημοσ. 19 Αυγούστου 2014 Δημοσ. 19 Αυγούστου 2014 Δοκιμασε με -lglut (χωρις 32 μονο για το glut)
poscore Δημοσ. 19 Αυγούστου 2014 Μέλος Δημοσ. 19 Αυγούστου 2014 τωρα χτυπάει εδώ...στο header αρχείο gluvoid APIENTRY gluQuadricCallback (GLUquadric *qobj, GLenum which, void (CALLBACK* fn)()); /usr/include/w32api/GL/glu.h:228:81: error: expected ‘)’ before ‘*’ token void APIENTRY gluQuadricCallback (GLUquadric *qobj, GLenum which, void (CALLBACK* fn)());τι θέλει; :/ Το δικό σας έτσι ειναι?
georgemarios Δημοσ. 19 Αυγούστου 2014 Δημοσ. 19 Αυγούστου 2014 Εμενα ο κωδικας που εδωσες κανει compile μια χαρα Δες αυτη τη Site: συζήτηση μηπως σε βοηθησει καμια απο τις προτεινομενες λυσεις
elenh995 Δημοσ. 6 Μαΐου 2016 Δημοσ. 6 Μαΐου 2016 ΒΟΗΘΕΙΑ ΕΧΩ ΠΡΟΒΛΗΜΑ ΜΕ ΜΙΑ ΕΡΓΑΣΙΑ ΣΕ OPEN GL ....ΠΡΕΠΕΙ ΝΑ ΦΤΙΑΞΩ ΤΟΝ ΠΑΚΜΑΝ ΝΑ ΚΑΝΕΙ ΚΙΝΗΣΗ ΜΕ ΤΑ ΠΛΗΚΤΡΑ...ΕΧΩ ΦΤΙΑΞΕΙ ΤΟ ΣΩΜΑ ΑΛΛΑ Η ΚΙΝΗΣΗ ΤΙΠΟΤΑ...ΕΠΕΙΓΟΝ!!! Ο ΚΩΔΙΚΑΣ ΜΟΥ... #include <GL/glut.h> #include <math.h> #define PI 3.14159 #define circlePoints 256 int i;//,x1,x2,y1,y2; void keyboard(unsigned char key,int x, int y); void display() { GLfloat angleStep=2*PI/(float)circlePoints; GLuint pointsPerQuarter=circlePoints/4; GLfloat x[circlePoints]; GLfloat y[circlePoints]; GLfloat radius=10; glClearColor(0,0,0,0); glClear(GL_COLOR_BUFFER_BIT); glColor3f(1,1,0); for(i=0;i<pointsPerQuarter/2;i++) { //Define points in first quadrant x=radius*cos(i*angleStep); y=radius*sin(i*angleStep); x[pointsPerQuarter-1-i]=y; y[pointsPerQuarter-1-i]=x; //Define points in second quadrant x[pointsPerQuarter+i]=-y; y[pointsPerQuarter+i]=x; x[2*pointsPerQuarter-1-i]=-x; y[2*pointsPerQuarter-1-i]=y; //Define points in third quadrant x[2*pointsPerQuarter+i]=-x; y[2*pointsPerQuarter+i]=-y; x[3*pointsPerQuarter-1-i]=-y; y[3*pointsPerQuarter-1-i]=-x; //Define points in fourth quadrant x[3*pointsPerQuarter+i]=y; y[3*pointsPerQuarter+i]=-x; x[4*pointsPerQuarter-1-i]=x; y[4*pointsPerQuarter-1-i]=-y; } glBegin(GL_POLYGON); for (i=0;i<circlePoints;i++) { glVertex2f(x,y); } glEnd(); glFlush(); { glColor3f(0,0,0); glBegin(GL_POLYGON); glVertex2i(0,0); glVertex2i(5,10); glVertex2i(30,0); glEnd(); glFlush(); { GLuint x1=10,y1=10; GLuint x2=20,y2=20; glClearColor(1,1,1,0); glClear(GL_COLOR_BUFFER_BIT); glColor3f(1,0,0); glRecti(x1,y1,x2,y2); glFlush(); } } void keyboard(unsigned char key,int x, int y, int x1,int x2,int y1,int y2) { printf("Keyboard event detected \n"); if (key=='w') { y1++; y2++; } if (key=='s') { y1--; y2--; } if (key=='a') { x1--; x2--; } if (key=='d') { x1++; x2++; } glutPostRedisplay(); } } int main(int argc, char** argv) { glutInit(&argc,argv); glutInitWindowPosition(50,50); glutInitWindowSize(640,480); glutInitDisplayMode(GLUT_SINGLE|GLUT_RGBA); glutCreateWindow("pacman"); glMatrixMode(GL_PROJECTION); gluOrtho2D(-32,32,-24,24); glutDisplayFunc(display); glutKeyboardFunc(keyboard); glutMainLoop(); return 0; }
Moderators Kercyn Δημοσ. 6 Μαΐου 2016 Moderators Δημοσ. 6 Μαΐου 2016 Καταρχάς ο κώδικας που δίνεις δεν κάνει compile. Κατά δεύτερον, όπως μπορείς να δεις στα docs της glutKeyboardFunc, πρέπει να της δώσεις (unsigned char key, int x, int y). Αυτό που δίνεις εσύ δεν έχει αυτό το signature. Είμαι περίεργος, ο κώδικας που έχεις εσύ κάνει compile; Αν όχι, δοκίμασε να κοιτάξεις τα errors που σου βγάζει.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα