actually, to compile an opengl application with opengl and glut, using mingw, is very easy, because opengl32.a, glut32.a etc..are included by default in mingw package: just link them and the application is compiled fine.
In the open source sw we are writing, we have used opengl features <= vers. 1.4, so the binary run fine on both old PCs and last generation PCs. In other words, I can compile it on a very old PC with poor integrated videocard, and then send it to my friend that run it using last NVIDIA card: amazing!
Now I'm a bit confusing about opengl3.0. I know they just deprecate, without delete, the old functions, but starting from 3.1 deprecated calls will be fully removed, so we need to study them. So my questions are:
1) If I compile my application, using my usual opengl32.a and glut32.a on my old PC, and then I send the binary to be tested on ultimate video card that use opengl3.0 drivers, it run? If yes, it should print the deprecated functions, while running?
2)To compile my application using opengl3.0, I suppose I need some particular version of opengl32.a (or maybe it has a different name?). Where to find it? And probably I need to distribute a special opengl32.dll, right?
3) Assuming I'm able to compile an opengl3.0. What happen if I send the binary to an old PC with an old video card? It will run in emulation mode, or it will not run at all?
Thanks! I hope this post will be useful for all developers that, as me, are confused by new version. Ah...please excuse me for the poor english: it's not my primary language.