OpenGL αρχάριος-προσπάθεια συμβατότητας κώδικα με visual st  Το θέμα επιλύθηκε

...του ubuntu και έργων ΕΛ/ΛΑΚ (Έργα-Οδηγοί-Προτάσεις)

Συντονιστής: konnn

OpenGL αρχάριος-προσπάθεια συμβατότητας κώδικα με visual st

Δημοσίευσηαπό Nebula » 20 Ιούλ 2012, 16:12

Καλησπ'ερα παιδια!
Μόλις ξεκινάω να μαθαίνω OpenGL σε περιβάλλον Linux.
Το πρόβλημα είναι πως έχω καποιους κώδικες του καθηγητή μου, τους οποίους τους έφτιαξε σε visual studio και δεν μπορώ να τους τρέξω στο ubuntu...
Επειδή ειμαι στο σημείο μηδεν στην εκμάθηση, μήπως μπορει να με βοηθήσει κάποιος; Να μου πεί τι πακέτα πρεπει να εγκαταστήσω κτλ;

Παρακάτω παραθέτω ένα κώδικα του καθηγητή μου σε C++
Κώδικας: Επιλογή όλων
//AUTH Computational Physics - Computer Graphics - GV2007-2012
//Project >> BasicCode/code12.cpp
//target : Set Coordinate system in Graphic window and draw a test-object
//--------------------------------------------------------

#include <stdio.h>
#include <glut.h>



void SetupG(GLfloat b)
{
glClearColor(b,b,b,0); //set attribute : background color
gluOrtho2D(0,100,0,100);
}

void mydisplay()
{
glClear(GL_COLOR_BUFFER_BIT); //clear Display Window
glColor3f(1.0,0.0,0.0); //set drawing color
glBegin(GL_LINES);
glVertex2i(10,10);
glVertex2f(30.5,80.0);
glEnd();

glFlush(); //necessary for processing OpenGL routines
}

void main(int argc, char **argv)
{
printf("AUTH Computational Physics - Computer Graphics - GV2007-2012\n");
printf("Project >> BasicCode/code12.cpp\n");
printf("target : Set Coordinate system in Graphic window and draw a test-object\n");
printf("--------------------------------------------------------\n");

glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);
glutCreateWindow("My graphic window");

SetupG(0.5);
glutDisplayFunc(mydisplay);
glutMainLoop();
}



επίσης οι εγκτεστημένες βιβλιοθήκες που ειναι οι στο /usr/include/GL είναι οι εξής:
Κώδικας: Επιλογή όλων
freeglut_ext.h glext.h glu.h glxext.h internal
freeglut.h gl.h glu_mangle.h glx.h
freeglut_std.h gl_mangle.h glut.h glx_mangle.h


Σας ςυχαριστώ πολύ προκαταβολικά!!!
1 Γνώσεις Linux: Πρώτα βήματα ┃ Προγραμματισμού: Πρώτα βήματα ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 14.04 trusty 3.13.0-35-generic 64bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.13.0-32-generic, Windows 7
3 Intel Core i5-4210M CPU @ 2.60GHz ‖ RAM 7880 MiB ‖ Acer EA50_HWS - Acer Aspire E5-572G
4 Intel 4th Gen Core Processor Integrated Graphics [8086:0416] {i915}
5 wlan0: Qualcomm Atheros QCA9565 / AR9565 Wireless Network Adapter [168c:0036] (rev 01) ⋮ eth0: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 12)
Nebula
babeTUX
babeTUX
 
Δημοσιεύσεις: 60
Εγγραφή: 12 Ιαν 2012, 20:47
Εκτύπωση

Re: OpenGL αρχάριος-προσπάθεια συμβατότητας κώδικα με visual

Δημοσίευσηαπό clepto » 20 Ιούλ 2012, 16:20

όταν το τρέχεις σου βγάζει κάποιο σφάλμα;
1 Γνώσεις Linux: Ικανοποιητικό ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 13.04 raring 3.8.0-30-generic 64bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.8.0-19-generic, Windows 7
3 Intel Core i7-3537U CPU @ 2.00GHz ‖ RAM 3840 MiB ‖ ASUS K56CB
4 Intel 3rd Gen Core processor Graphics Controller [8086:0166] {i915}
5 wlan0: Atheros Inc. AR9485 Wireless Network Adapter [168c:0032] (rev 01) ⋮ eth0: Realtek RTL8111/8168 PCI Express Gigabit Ethernet controller [10ec:8168] (rev 0a)
clepto
antiwinTUX
antiwinTUX
 
Δημοσιεύσεις: 4102
Εγγραφή: 07 Ιαν 2010, 16:27
Τοποθεσία: Πάτρα
Launchpad: christriant
IRC: Clepto
Εκτύπωση

Re: OpenGL αρχάριος-προσπάθεια συμβατότητας κώδικα με visual

Δημοσίευσηαπό Nebula » 20 Ιούλ 2012, 17:14

Τρέχοντας αυτούσιο το κώδικα μου βγάζει:
Κώδικας: Επιλογή όλων
test.cpp:7:18: fatal error: glut.h: No such file or directory
compilation terminated.

Αν αντικαταστήσω το #include <glut.h> με #include <GL/glut.h>
μου επιστρέφει:
Κώδικας: Επιλογή όλων
test.cpp:30:32: error: ‘::main’ must return ‘int’


Σύμφωνα με το παραπάνω μύνημα αν αντικαταστήσω το void main(int argc, char **argv) με int main(int argc, char **argv) και πριν το τέλος της main γράψω return 0; μου επιστρέφει:
Κώδικας: Επιλογή όλων
/tmp/ccnqdEIF.o:test.cpp:function SetupG(float): error: undefined reference to 'gluOrtho2D'
collect2: ld returned 1 exit status


compile κάνω με την εντολή
Κώδικας: Επιλογή όλων
gcc -lGL -lglut test.cpp -o test

Γενικά ως πηγή χρησημοποίησα το ακόλουθο λινκ http://singhgurjot.wordpress.com/2012/05/17/how-to-install-openglglut-libraries-in-ubuntu-12-04/
Μπορει να κάνω και χαζομάρες και θυμίζω ότι ειμαι παντελώς άσχετος, απλα προσαθώ να τρέξω αυτούς τους κώδικες ώστε να αρχίσω να μαθαίνω μέσω αυτών...
1 Γνώσεις Linux: Πρώτα βήματα ┃ Προγραμματισμού: Πρώτα βήματα ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 14.04 trusty 3.13.0-35-generic 64bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.13.0-32-generic, Windows 7
3 Intel Core i5-4210M CPU @ 2.60GHz ‖ RAM 7880 MiB ‖ Acer EA50_HWS - Acer Aspire E5-572G
4 Intel 4th Gen Core Processor Integrated Graphics [8086:0416] {i915}
5 wlan0: Qualcomm Atheros QCA9565 / AR9565 Wireless Network Adapter [168c:0036] (rev 01) ⋮ eth0: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 12)
Nebula
babeTUX
babeTUX
 
Δημοσιεύσεις: 60
Εγγραφή: 12 Ιαν 2012, 20:47
Εκτύπωση

Re: OpenGL αρχάριος-προσπάθεια συμβατότητας κώδικα με visual

Δημοσίευσηαπό clepto » 20 Ιούλ 2012, 21:03

Μεταφέρθηκε στην κατάλληλη ενότητα



δυστυχώς δεν μπορώ να σε βοηθήσω...μπορείς να περιμένεις μήπως κάποιος άλλος απαντήσει..
1 Γνώσεις Linux: Ικανοποιητικό ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 13.04 raring 3.8.0-30-generic 64bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.8.0-19-generic, Windows 7
3 Intel Core i7-3537U CPU @ 2.00GHz ‖ RAM 3840 MiB ‖ ASUS K56CB
4 Intel 3rd Gen Core processor Graphics Controller [8086:0166] {i915}
5 wlan0: Atheros Inc. AR9485 Wireless Network Adapter [168c:0032] (rev 01) ⋮ eth0: Realtek RTL8111/8168 PCI Express Gigabit Ethernet controller [10ec:8168] (rev 0a)
clepto
antiwinTUX
antiwinTUX
 
Δημοσιεύσεις: 4102
Εγγραφή: 07 Ιαν 2010, 16:27
Τοποθεσία: Πάτρα
Launchpad: christriant
IRC: Clepto
Εκτύπωση

Re: OpenGL αρχάριος-προσπάθεια συμβατότητας κώδικα με visual

Δημοσίευσηαπό konnn » 20 Ιούλ 2012, 21:09

Σύμφωνα με το πρώτο μήνυμα δε βρίσκει τη βιβλιοθήκη "glut.h". Έχεις εγκαταστήσει τα built-essentials;
1 Linux: Μέτριος ┃ Προγραμματισμός: Μέτριος ┃ Αγγλικά: Προχωρημένος
2 Desktop : Ubuntu 16.04 64bit
a Intel Core i3 CPU 530 2.93GHz ‖ RAM 3824 MiB ‖ Intel DH55HC -
b nVidia Device [10de:1040] (rev a1)
c eth0: Intel 82578DC Gigabit Network Connection
3 Notebook : Ubuntu 16.04 64 bit
a Intel Core i3-2365M CPU @ 1.40GHz ‖ RAM 3854 MiB ‖ LENOVO 20197
b Intel 2nd Generation Core Processor Family Integrated Graphics Controller
c 5 wlan0: Intel Centrino Wireless-N 2230 ⋮ eth0: Realtek RTL8101E/RTL8102E

Αυτόματη υπογραφή.
Άβαταρ μέλους
konnn
Συντονιστής
Συντονιστής
 
Δημοσιεύσεις: 3568
Εγγραφή: 12 Ιούλ 2010, 17:54
Τοποθεσία: Καλαμάτα
Launchpad: konnn
Εκτύπωση

Re: OpenGL αρχάριος-προσπάθεια συμβατότητας κώδικα με visual

Δημοσίευσηαπό Nebula » 20 Ιούλ 2012, 23:56

έγραψε:Έχεις εγκαταστήσει τα built-essentials;

Το έχω εγκαταστήσει..
έγραψε:Σύμφωνα με το πρώτο μήνυμα δε βρίσκει τη βιβλιοθήκη "glut.h"

στο φάκελο /usr/include/GL υπάρχουν:
Κώδικας: Επιλογή όλων
freeglut_ext.h glext.h glu.h glxext.h internal
freeglut.h gl.h glu_mangle.h glx.h
freeglut_std.h gl_mangle.h glut.h glx_mangle.h
1 Γνώσεις Linux: Πρώτα βήματα ┃ Προγραμματισμού: Πρώτα βήματα ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 14.04 trusty 3.13.0-35-generic 64bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.13.0-32-generic, Windows 7
3 Intel Core i5-4210M CPU @ 2.60GHz ‖ RAM 7880 MiB ‖ Acer EA50_HWS - Acer Aspire E5-572G
4 Intel 4th Gen Core Processor Integrated Graphics [8086:0416] {i915}
5 wlan0: Qualcomm Atheros QCA9565 / AR9565 Wireless Network Adapter [168c:0036] (rev 01) ⋮ eth0: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 12)
Nebula
babeTUX
babeTUX
 
Δημοσιεύσεις: 60
Εγγραφή: 12 Ιαν 2012, 20:47
Εκτύπωση

Re: OpenGL αρχάριος-προσπάθεια συμβατότητας κώδικα με visual

Δημοσίευσηαπό konnn » 21 Ιούλ 2012, 12:07

Nebula έγραψε:gcc -lGL -lglut test.cpp -o test

Το λάθος είναι εδώ, μάλλον. Προσπαθείς να κάνει compile της C++ με το μεταγλωττιστή της C. Αντί για gcc γράψε g++ να δούμε.
1 Linux: Μέτριος ┃ Προγραμματισμός: Μέτριος ┃ Αγγλικά: Προχωρημένος
2 Desktop : Ubuntu 16.04 64bit
a Intel Core i3 CPU 530 2.93GHz ‖ RAM 3824 MiB ‖ Intel DH55HC -
b nVidia Device [10de:1040] (rev a1)
c eth0: Intel 82578DC Gigabit Network Connection
3 Notebook : Ubuntu 16.04 64 bit
a Intel Core i3-2365M CPU @ 1.40GHz ‖ RAM 3854 MiB ‖ LENOVO 20197
b Intel 2nd Generation Core Processor Family Integrated Graphics Controller
c 5 wlan0: Intel Centrino Wireless-N 2230 ⋮ eth0: Realtek RTL8101E/RTL8102E

Αυτόματη υπογραφή.
Άβαταρ μέλους
konnn
Συντονιστής
Συντονιστής
 
Δημοσιεύσεις: 3568
Εγγραφή: 12 Ιούλ 2010, 17:54
Τοποθεσία: Καλαμάτα
Launchpad: konnn
Εκτύπωση

Re: OpenGL αρχάριος-προσπάθεια συμβατότητας κώδικα με visual

Δημοσίευσηαπό Nebula » 21 Ιούλ 2012, 14:39

H εντολή
Κώδικας: Επιλογή όλων
g++ -lGL -lglut test.cpp -o test

έδωσε
Κώδικας: Επιλογή όλων
/tmp/ccjQSMA6.o:test.cpp:function SetupG(float): error: undefined reference to 'gluOrtho2D'
collect2: ld returned 1 exit status

konn εσένα έτρεξε ο κώδικας?

Αυτοί οι κώδικες φτιάχτηκαν σε visual studio και νομίζω ότι ο δημιουργός του εγκατέστησε επίσης τις βιβλιοθήκες glut32.dll και glut.lib
Αυτό σε Ubuntu πως το κάνουμε;
1 Γνώσεις Linux: Πρώτα βήματα ┃ Προγραμματισμού: Πρώτα βήματα ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 14.04 trusty 3.13.0-35-generic 64bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.13.0-32-generic, Windows 7
3 Intel Core i5-4210M CPU @ 2.60GHz ‖ RAM 7880 MiB ‖ Acer EA50_HWS - Acer Aspire E5-572G
4 Intel 4th Gen Core Processor Integrated Graphics [8086:0416] {i915}
5 wlan0: Qualcomm Atheros QCA9565 / AR9565 Wireless Network Adapter [168c:0036] (rev 01) ⋮ eth0: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 12)
Nebula
babeTUX
babeTUX
 
Δημοσιεύσεις: 60
Εγγραφή: 12 Ιαν 2012, 20:47
Εκτύπωση

Re: OpenGL αρχάριος-προσπάθεια συμβατότητας κώδικα με visual

Δημοσίευσηαπό konnn » 21 Ιούλ 2012, 15:33

Nebula έγραψε:Αυτοί οι κώδικες φτιάχτηκαν σε visual studio και νομίζω ότι ο δημιουργός του εγκατέστησε επίσης τις βιβλιοθήκες glut32.dll και glut.lib
Αυτό σε Ubuntu πως το κάνουμε;

Δοκίμασε αυτές.
Κώδικας: Επιλογή όλων
sudo apt-get install freeglut3 freeglut3-dev

Κώδικας: Επιλογή όλων
sudo apt-get install binutils-gold
1 Linux: Μέτριος ┃ Προγραμματισμός: Μέτριος ┃ Αγγλικά: Προχωρημένος
2 Desktop : Ubuntu 16.04 64bit
a Intel Core i3 CPU 530 2.93GHz ‖ RAM 3824 MiB ‖ Intel DH55HC -
b nVidia Device [10de:1040] (rev a1)
c eth0: Intel 82578DC Gigabit Network Connection
3 Notebook : Ubuntu 16.04 64 bit
a Intel Core i3-2365M CPU @ 1.40GHz ‖ RAM 3854 MiB ‖ LENOVO 20197
b Intel 2nd Generation Core Processor Family Integrated Graphics Controller
c 5 wlan0: Intel Centrino Wireless-N 2230 ⋮ eth0: Realtek RTL8101E/RTL8102E

Αυτόματη υπογραφή.
Άβαταρ μέλους
konnn
Συντονιστής
Συντονιστής
 
Δημοσιεύσεις: 3568
Εγγραφή: 12 Ιούλ 2010, 17:54
Τοποθεσία: Καλαμάτα
Launchpad: konnn
Εκτύπωση

Re: OpenGL αρχάριος-προσπάθεια συμβατότητας κώδικα με visual

Δημοσίευσηαπό konnn » 21 Ιούλ 2012, 15:55

Δοκίμασε και αυτή την εντολή
Κώδικας: Επιλογή όλων
g++ -lGL -lglut -lGLU test.cpp -o test
.

με αυτόν το κώδικα
Κώδικας: Επιλογή όλων
//AUTH Computational Physics - Computer Graphics - GV2007-2012
//Project >> BasicCode/code12.cpp
//target : Set Coordinate system in Graphic window and draw a test-object
//--------------------------------------------------------

#include <stdio.h>
//#include <GL/glu.h>

#include <GL/glut.h>



void SetupG(GLfloat b)
{
glClearColor(b,b,b,0); //set attribute : background color
gluOrtho2D(0,100,0,100);
}

void mydisplay()
{
glClear(GL_COLOR_BUFFER_BIT); //clear Display Window
glColor3f(1.0,0.0,0.0); //set drawing color
glBegin(GL_LINES);
glVertex2i(10,10);
glVertex2f(30.5,80.0);
glEnd();

glFlush(); //necessary for processing OpenGL routines
}

int main(int argc, char **argv)
{
printf("AUTH Computational Physics - Computer Graphics - GV2007-2012\n");
printf("Project >> BasicCode/code12.cpp\n");
printf("target : Set Coordinate system in Graphic window and draw a test-object\n");
printf("--------------------------------------------------------\n");

glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);
glutCreateWindow("My graphic window");

SetupG(0.5);
glutDisplayFunc(mydisplay);
glutMainLoop();
return 0;
}a
1 Linux: Μέτριος ┃ Προγραμματισμός: Μέτριος ┃ Αγγλικά: Προχωρημένος
2 Desktop : Ubuntu 16.04 64bit
a Intel Core i3 CPU 530 2.93GHz ‖ RAM 3824 MiB ‖ Intel DH55HC -
b nVidia Device [10de:1040] (rev a1)
c eth0: Intel 82578DC Gigabit Network Connection
3 Notebook : Ubuntu 16.04 64 bit
a Intel Core i3-2365M CPU @ 1.40GHz ‖ RAM 3854 MiB ‖ LENOVO 20197
b Intel 2nd Generation Core Processor Family Integrated Graphics Controller
c 5 wlan0: Intel Centrino Wireless-N 2230 ⋮ eth0: Realtek RTL8101E/RTL8102E

Αυτόματη υπογραφή.
Άβαταρ μέλους
konnn
Συντονιστής
Συντονιστής
 
Δημοσιεύσεις: 3568
Εγγραφή: 12 Ιούλ 2010, 17:54
Τοποθεσία: Καλαμάτα
Launchpad: konnn
Εκτύπωση

Επόμενο

Επιστροφή στο Ανάπτυξη Λογισμικού / Αλγόριθμοι