Installation von OpenGl
-
Ich arbeite mit Windows 7, Ms MVc++ 2010 Express.
Hallo Zusammen,
Ich möchte wieder einmal etwas mit OpenGl programmieren, stecke jedoch in der Installation fest.
Es gibt Millionen von Anleitungen im Internet, ich ersticke jedoch in der Menge.
Ich habe versucht einer Anleitung zu folgen, aber dies funktionierte nicht.Ich bin wie folgt vorgegeangen:
Download des Ordners freeglut-MSVC-2.8.1-1.mpDiesen Orner habe ich entpackt und die DLL-Datei in den System32 Ordner kopiert.
Allerdings war es nur eine einzige DLL Datei, während es in der Anleitung mehrere waren.Nun habe ich gemäss Anleitung Ordner erstellt für die .h Dateien und für die .lib Dateien.
Aber dies kann ja nicht funktionieren, weil man ja dem MVC++2010 noch irgenwie mitteilen muss, wo es diese Dateien dann wieder findet.
Dort konnte ich der Anleitung nicht mehr folgen.Wer kann mir dabei helfen und am besten ein ganz einfaches Beispielprogramm geben?
Gruss
-
sulky schrieb:
Ich arbeite mit Windows 7, Ms MVc++ 2010 Express.
Mittlerweile stehen wir bei VS 2013, wenn du keinen besonderen Grund hast, noch mit einer älteren Version zu arbeiten, hol dir doch die aktuelle.
sulky schrieb:
Ich möchte wieder einmal etwas mit OpenGl programmieren, stecke jedoch in der Installation fest.
Da hast du offenbar irgendwo was grundlegend falsch verstanden. OpenGL ist keine Library und muss auch nicht irgendwie installiert werden. OpenGL ist eine Schnittstellenspezifikation. Windows bzw. dein Grafiktreiber implementieren diese Schnittstelle. OpenGL befindet sich bereits auf deinem Rechner. freeglut ist lediglich eine von vielen Libraries, die das Erzeugen eines Fensters, in das du mit OpenGL zeichnen kannst, kapseln, sodass du nicht direkt mit den jeweiligen betriebssystemspezifischen APIs (unter Windows wären das z.B. die wgl Funktionen der WinAPI) hantieren musst...
sulky schrieb:
Diesen Orner habe ich entpackt und die DLL-Datei in den System32 Ordner kopiert.
Der Ordner heißt nicht umsonst System32. Mir persönlich fällt praktisch kein valider Grund ein, wieso man jemals irgendwas in diesen Ordner kopieren sollte. Ganz besonders nicht, wenn man nicht zu 100% weiß, was man tut und wieso man tut, was man tut...
-
Hallo dot,
Bekommt man den MV 2013 irgendwo kostenlos?
Das letzte Mal habe ich mit Vc++ 6.0 gearbeitet. Funktionierte prima.Wieso ich in den System 32 Ordner kopiert habe: Ganz einfach: Im Tutorial wurde es so vorgemacht. Mehr verstehe ich leider nicht von der Sache.
Ja kann sein, dass ich falsch verstanden habe, was openGL ist. Tatsache ist,
dass es mit meinem alten Computer bestens funktioniert hat und nun funktionert es nicht mehr. Wenn ich #include <glut.h> eingebe, dann kommt logischerweise eine Fehlermeldung. Ich bin nun überfordert meinem PC beizubringen, wo er diese Datei findet.Ich möchte nun wissen, wie ich diese Dateien korrekt installieren muss, sodass
ich die Beispielprogramme laufen lassen kann.Ich merke, meine Frage ist zu einfach, als dass ein Informatiker es erklären
könnte.
-
sulky schrieb:
Bekommt man den MV 2013 irgendwo kostenlos?
Das letzte Mal habe ich mit Vc++ 6.0 gearbeitet. Funktionierte prima.Ich dachte du verwendest VS 2010 Express? Anyway: http://www.microsoft.com/visualstudio/eng/2013-downloads#d-2013-express
Was du willst ist VS 2013 Express for Windows Desktop und ich empfehle unbedingt die englische Version, allein schon weil deutsche Fehlermeldungen auf google weitaus weniger hilfreiche Informationen zu Tage fördern. Beachte, dass VS 2013 im Moment nur ein Preview ist (also sowas wie eine Beta Version) und auch die anderen Editionen (Professional etc.) im Moment als Preview frei verfügbar sind...sulky schrieb:
Wieso ich in den System 32 Ordner kopiert habe: Ganz einfach: Im Tutorial wurde es so vorgemacht. Mehr verstehe ich leider nicht von der Sache.
Lösch die Datei am besten wieder und merk dir, dass System32 der allerletzte Ordner ist, wo irgendwelche komischen dll Dateien aus dem Internet was zu suchen hätten...
sulky schrieb:
Ich möchte nun wissen, wie ich diese Dateien korrekt installieren muss, sodass
ich die Beispielprogramme laufen lassen kann.Ich merke, meine Frage ist zu einfach, als dass ein Informatiker es erklären
könnte.Das Problem ist wohl, dass es dir offenbar an gewissen Grundlagen mangelt. Mach dich mit dem Zusammenspiel von Compiler und Linker vertraut und lern was statische und dynamische Libraries genau sind. Anstatt eine fertig kompilierte Binary zu verwenden, lad dir den Source Code von freeglut und kompilier es selbst. Schau dir an wofür die VC++ Directories gut sind. Anders gesagt: Lern mit deinen Werkzeugen umzugehen, wenn du die Hintergründe verstanden hast, wirst du selbst wissen, wie genau du deinen Compiler und Linker konfigurieren musst, um freeglut verwenden zu können. Dann musst du auch nichtmehr blind irgendwelchen fragwürdigen Tutorials folgen.
-
Dass es mir an Grundlagenkenntnissen mangelt ist eine Tatsache, aber ein Problem ist das nicht. Diesen Mangel wettzumachen geht nun auf die Schnelle nicht.
Meine Frage ist sehr einfach. Ein Beispielprogramm hat in der 4. Zeile
#include <GL/glut.h>
Nun ist die Datei glut.h nicht in der Serienmässigen Ausstattung von MVc++ enthalten. Ich habe die Datei im Internet gefunden, weiss nun aber nicht, wie man sie Montiert.Dies ist vergleichbar mit der Situation (schon mehrfach passiert) dass sich jemand ein Autoradio kauft und mich fragt, ob ich es Einbauen kann. Da antworte ich auch nicht, dass es ihm an Grundlagenkenntnissen mangelt.
-
sulky schrieb:
Dass es mir an Grundlagenkenntnissen mangelt ist eine Tatsache, aber ein Problem ist das nicht.
Doch, das ist ein Problem, denn es handelt sich da um Kenntnisse von wirklich fundamentaler Wichtigkeit ohne die du als Programmierer nicht weit kommen wirst. Dir jeden nötigen Schritt hier einfach vorzukauen, würde dir mehr schaden als nutzen.
sulky schrieb:
Diesen Mangel wettzumachen geht nun auf die Schnelle nicht.
Dennoch wirst du nicht drum herum kommen.
sulky schrieb:
Datei im Internet gefunden, weiss nun aber nicht, wie man sie Montiert.
Lern, wofür Include Directories gut sind...
sulky schrieb:
Dies ist vergleichbar mit der Situation (schon mehrfach passiert) dass sich jemand ein Autoradio kauft und mich fragt, ob ich es Einbauen kann. Da antworte ich auch nicht, dass es ihm an Grundlagenkenntnissen mangelt.
Es ist eher vergleichbar mit der Situation, dass jemand, der gerne Koch werden will, sich einen neuen Herd gekauft hat, aber keine Ahnung hat, wie genau man ihn nun bedient und sich weigert, die Bedienungsanleitung zu lesen...
-
Es ist ja nett, dass du auf meine Beiträge antwortest, aber besonders hilfreich ist es nicht.
Ich kam auf meinem alten PC bestens zurecht und möchte nichts machen, was ich nicht auch schon gemacht habe.
Nur muss man gewisse sachen neu einrichten und ich stehe gerade an.
Das ist alles.
-
na dann gib MSVS doch den Pfad zur Headerdatei und zur Library das was schon in der 6er Version so und is auch in der 2010 Version so. Also daran hat sich nix geändert, wobei wenn du einfach was nach einem Tutorial ins System32 Verzeichnis Kopierst dann hast du weder mitz der 6er noch mit der 2010er Version das irgendwie Richtig verstanden. Befass dich mit Sachen wie einbinden einer Library in MSVC, dann kommst du deinen Ziel näher, wobei mir das auch zweifelhaft ist wie du Programieren willst wenn di die Grundlagen nicht kennst. Aber du machst das sicher, mit Try and Error und hier Nachfragen.
-
So habe ich das im Internet gefunden:
"Für andere Kompiler müssen wir die Dateien an einen beliebigen Ort entpacken und dann die Pfade zu den Verzeichnissen in der Entwicklungsumgebung einstellen"
Ja schön und wie macht man das? wie stellt man die Pfade zu den Verzeichnisse her?
-
In den Project Properties gibt es die VC++ Directories, die du suchst; Stichworte, die ich bereits in meinem letzten Posting genannt habe und mit denen man bei google eigentlich genügend Informationen finden sollte...
Das wirklich einzige, das sich seit VS 6.0 an all dem geändert hat, ist übrigens, dass die VC++ Directories in einen anderen Dialog gewandert sind (waren vor VS 2010 unter Tools > Options zu finden)...
-
In den Project Properties gibt es die VC++ Directories, Stichworte, die ich bereits in meinem letzten Posting genannt habe und mit denen man bei google eigentlich genügend Informationen finden sollte...
-
Hallo Zusammen,
Ich weiss, dass jeder in so einem Forum ein freiwilliger Helfer ist und man dem geschenkten Gaul nicht ins Maul schaut. Aber so wurde ich wohl noch nie von
Antworten in einem Forum enttäuscht.Ich habe eine sehr einfache Frage und muss mir wiederholt sagen lassen, dass ich doch das Programmieren mangels Grundlagenkenntnissen besser sein lassen soll.
Es ist schon länger her, aber gerade in diesem Forum wurde mir schon sehr geholfen.
überigens habe ich sehr wohl Grundlagenkenntnisse. Ich habe das Fach Informatik 1 besucht und mit sehr guter Note abgeschlossen. Allerdings haben wir uns dort beinahe ausschliesslich mit dem schreiben von Quellcode befasst.
...was ist eine Funktion, eine Schleife, ein Zeiger, eine Klasse, u.s.w.Man müsste also noch einmal darüber diskutieren was den Grundlagen sind.
-
sulky schrieb:
Ich habe eine sehr einfache Frage und muss mir wiederholt sagen lassen, dass ich doch das Programmieren mangels Grundlagenkenntnissen besser sein lassen soll.
Zumindest ich habe das nicht gesagt. Ich sage nur, dass du diese Grundlagen besser lernen solltest, wenn du Programmieren willst. In jedem Handwerk ist es wesentliche Grundvoraussetzung, seine Werkzeuge zu kennen und damit umgehen zu können und das ist beim Programmieren nicht anders. Abgesehen davon, haben wir dir doch bereits alles nötige gesagt!? Oder was genau ist dir noch unklar?
sulky schrieb:
Man müsste also noch einmal darüber diskutieren was den Grundlagen sind.
Ich wüsste nicht, was es da groß zu diskutieren gäbe. Der Umgang mit Compiler, Linker und Debugger ist nunmal wesentliche Grundlage die jeder Programmierer drauf haben muss. Niemand sagt, dass du das Programmieren bleiben lassen sollst. Ich betone das nur, um dir klar zu machen, dass du dich einfach damit beschäftigen und diese fehlenden Grundlagen nachholen solltest, denn ohne wirst du einfach nicht weit kommen, wie du ja wohl selbst bereits merkst. Nutz doch die Chance, was zu lernen, anstatt beleidigt zu sein, wie böse doch alle sind, weil sie dir nicht gleich eine fertige Lösung deiner Probleme ausspucken. Eine Schritt für Schritt Anleitung hier zu posten, würde dir nur schaden, denn danach weißt du immer noch nicht, wie die Dinge wirklich funktionieren und hast auch keine Motivation mehr, dich damit auseinanderzusetzen. In diesem Sinne:
dot schrieb:
Mach dich mit dem Zusammenspiel von Compiler und Linker vertraut und lern was statische und dynamische Libraries genau sind. Anstatt eine fertig kompilierte Binary zu verwenden, lad dir den Source Code von freeglut und kompilier es selbst. Schau dir an wofür die VC++ Directories gut sind. Anders gesagt: Lern mit deinen Werkzeugen umzugehen, wenn du die Hintergründe verstanden hast, wirst du selbst wissen, wie genau du deinen Compiler und Linker konfigurieren musst, um freeglut verwenden zu können. Dann musst du auch nichtmehr blind irgendwelchen fragwürdigen Tutorials folgen.
-
Inzwischen konnte ich mein Programm kompliieren, aber bei Linken klappts noch nicht. Es kommt fehlermeldung error LNK2019.
Ja, ich weiss, dass man den Linker irrgenwie einstellen muss, damit der die
nötigen Dateien findet, aber ich weiss nicht genau wie.Als ich das beim letzten Man gemacht habe, fand ich eine Schritt für Schritt Anleitung. Diese fand ich nicht wieder.
Ich gehe auf Projekteigenschaften (Alt+f7), dann auf "Konfigurationen",
dann auf "Linker" und weiter weiss ich nicht mehr, ist zu lange her.Was muss ich nun noch machen?
-
Hast du beim Linker die richtigen Libraries als Additional Dependencies ("Zusätzliche Abhängigkeiten") eingetragen? Beachte dabei insbesondere 32 Bit vs 64 Bit. Stimmen die Suchpfade in den VC++ Directories? Wie genau lautet die Fehlermeldung?
-
So lautet die Fehlermeldung:
1>MSVCRT.lib(crtexew.obj) : error LNK2019: symbole externe non résolu _WinMain@16 référencé dans la fonction ___tmainCRTStartup
1>C:\Users\lukas\Documents\Visual Studio 2010\Projects\opengl\Debug\opengl.exe : fatal error LNK1120: 1 externes non résolusOb ich die zusätzlichen anhänigkeiten korrekt eingetragen habe bezweifle ich.
Dort habe ich einfach freeglut.lib geschrieben. Mehr habe ich da nicht gemacht
-
Du hast offenbar ein Projekt für eine Windows Anwendung erstellt und nicht für eine Konsolenanwendung. Windows Anwendungen starten nicht mit main(), sondern mit WinMain()...
-
Ja, das ist genauso.
Nun bin ich einen grossen Schritt weiter.
Ich habe das geändert und der Linker gibt nun keine Fehlermeldung mehr.
Jedoch kommt unmittelbar nach dem Programstart die Fehlermeldung, dass freeglut.dll nicht installiert sei.
Wie bereits beschrieben ist diese Datei im Ordenr System 32. Wohin gehört das Ding?
-
sulky schrieb:
Wie bereits beschrieben ist diese Datei im Ordenr System 32. Wohin gehört das Ding?
In den Ordner wo die exe liegt.
-
Ist ja super, nun gehts.
Vielen Dank.
Kannst du mir einen Tipp geben, wie ich mich mit MVc++ Linker, Complier u.s.w.
vertraut machen kann?Es ist einfach wirklich so, dass sämtlihce Einführungen in C++ sich mit Variablen, Schleifen, funktionen und Klassen befassen.
Für Freeglut funktioniert die Sache nun einmal. Noch habe ich den Ordenr SDL.
Den versuche ich nun einmal selbständig zum laufen zu bringen,
-
Wofür brauchst du denn die SDL?