Dit zijn mijn ervaringen met het programmeren in C of C++ onder Ubuntu 12.04
met GCC.
Ik heb niet echt een goed inzicht in de Ubuntu OS en nog minder in het terminal gegeven.
Maar ik gebruik Ubuntu zoals ik ooit Windows gebruikte. Grafisch dus.
Echter was het toch eenvoudig om een C/C++ programma op te starten.
Ik gebruik hier glut Opengl en (later) SDL en de terminal.
Glut is een manier maar zoals bij het programmeren in "zuiver"
windows verlies je bij glut je "main" functie.
Wat wil zeggen dat je variabelen onder main niet bruikbaar zijn.
Maar om te starten hier glut+Opengl dus:
Wat eerst te doen:
Wel via Ubuntu softwarecemtrum GCC installeren.
En ik volg hier dus ook:
http://www.codeproject.com/Articles/182109/Setting-up-an-OpenGL-development-environment-in-Ubmaar met de juiste directe links.
Je gaat dus naar:
http://packages.debian.org/search?searchon=contents&keywords=gl.h&mode=exactfilename&suite=stable&arch=anyen kies daar het: mesa-common-dev pakket
Ik sla dit pakket dan op onder mijn "Downloads".
Dat is het pakket voor glut en opengl
Ik doe hetzelfde voor het glu pakket:
http://packages.debian.org/search?searchon=contents&keywords=glu.h&mode=exactfilename&suite=stable&arch=anyEn daar kies ik voor: libglu1-mesa-dev
Ik sla dit pakket dan op onder mijn "Downloads".
Dan ga ik voor het SDL pakket:
http://packages.debian.org/search?searchon=contents&keywords=SDL.h&mode=exactfilename&suite=stable&arch=anyEn kies ik: libsdl1.2-dev
En sla ik op onder "downloads"
Ik ga dan naar de terminal:
Mijn eigen terminal toont: "ran@ran-Aspire-7735:~$ " (die "" zijn er natuurlijk niet en moeten/mogen er niet zijn)
(Bij iedereen anders natuurlijk)
En ik typ daar sudo apt-get install mesa-common-dev na "ran@ran-Aspire-7735:~$ " natuurlijk (en enter of return)
Nu wordt Glut en opengl geinstalleerd onder Computer -> bestandssysteem -> usr (indien usr niet zichtbaar = control H drukken)
Nu even glu installeren:
Ook weer na "ran@ran-Aspire-7735:~$ " typ ik: sudo apt-get install libglu1-mesa-dev (en enter)
Nu ook nog even SDL installeren:
Idem maar nu typ ik na "ran@ran-Aspire-7735:~$ " libsdl1.2-dev (en enter)
Misschien nog even kijken onder Computer -> bestandssysteem -> usr (indien usr niet zichtbaar = control H drukken)
of ze er zijn, onder usr vind je de map "include" en daaronder moeten de mappen "GL" en "SDL" zichtbaar zijn.
Glut en Opengl (GL) zitten samen onder de map "GL".
Zo nu zijn we klaar om te programmeren onder GCC.
Eerste programma:
#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;
}
Kopieer dit via paste en jouw Teksteditor en noem het main.c
Plaats het onder "Persoonlijke map" "projecten" en maak onder
projecten bv een eigen map "test2" of zoiets.
Laat ons het programma uitvoeren en compileren, maar eerst:
Nu typ ik cd na "ran@ran-Aspire-7735:~$ " dus heb je: ran@ran-Aspire-7735:~$ cd
om naar mijn Persoonlijke map te gaan.
Nu ga ik naar mijn projecten map: ran@ran-Aspire-7735:~$ cd projecten
En nu naar mijn test2 map: ran@ran-Aspire-7735:~/projecten$ cd test2
Dus ben ik nu in: ran@ran-Aspire-7735:~/projecten/test2$
Laat ons nu de programma compileren/uitvoeren:
in de terminal heb je:
ran@ran-Aspire-7735:~/projecten$ cd test2
typ nu daar achter: g++ -o main main.c -lglut
(-lglut is het linken van de libs -> voor SDL en Opengl is -lGL en -lSDL nodig -> let op hoofdletters en voor -lglut
geen hoofdletters)
Je krijgt nu een uitvoerbaar bestand die "main" noemt en
die een wit vierkant weergeeft als je erop klikt.
Dit was een zeer bevattelijke les over Opengl/glut.
Ik ben op Ubuntu ook nog vreemd dus fouten heb ik wel gemaakt
tegen het OS systeem.
Maar mijn uitleg en werking van het programma zijn wel correct.
Als iemand ook nog het vervolg: SDL onder Ubuntu wil, geef dan hieronder een
seintje en dan zal ik dat ook voor SDL doen.
Beste Groeten,
Ran
[/code]