derwunner Geschrieben 24. September 2010 Teilen Geschrieben 24. September 2010 Hallo, also im Internet findet man ja tausend verschiedene Lösungsansätze, um OpenGL mit Visual C++ programmieren zu können. Mein Problem ist: Ich bin mit den tausenden Anleitungen etwas überfordert. Was ich bis jetzt schon gemacht habe: Ich habe mir glut runtergeladen, und die in den Visual Studio Ordner unter VC lib Ordner unter GL die glut32.lib reingetan. Die glut32.h in den Ordner include\GL. Bei den Projekt selber hab ich die verschiedenen OpenGL lib Dateien im Linker eingebunden. Visual Studio motzt ungefähr bei der Hälfte eines funktionierenden Code-Beispiels. Auch werden angeblich die Header Dateien nicht gefunden. Das Code-Beispiel stammt von einer Deutschen Übersetzung des Nehe Tutorials. MFG derwunner Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Crush Geschrieben 24. September 2010 Teilen Geschrieben 24. September 2010 Bei mir klappt alles problemlos mit diesen paar includes: #include <glew.h> // Header File For The GLaux Library #include <gl\gl.h> // Header File For The OpenGL32 Library #include <gl\glu.h> // Header File For The GLu32 Library #include <gl\glaux.h> // Header File For The GLaux Library #include <glext.h> // Header File For The GLaux Library #include <glut.h> // Header File For The GLaux Library #pragma comment(lib, "glew32.lib") [/PHP] glew32.dll und glut32.dll sollten noch in einem erreichbaren Ordner fürs Programm sein. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
derwunner Geschrieben 24. September 2010 Autor Teilen Geschrieben 24. September 2010 Hallo, bei mir sieht das so aus: #include <windows.h> #include <gl\glu.h> #include <gl\gl.h> #include <gl\glaux.h> Hast du noch zusätzliche libs, dlls eingebunden? Kann es vill auch da dran liegen, dass ich denn Ordner GL groß geschrieben habe? MFG derwunner Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Crush Geschrieben 24. September 2010 Teilen Geschrieben 24. September 2010 Nein, übers Projekt gar nicht. Nur die eine Lib über den Pragma-Command. Die Groß-/Kleinschreibung dürfte keine Rolle spielen. Ich glaube eher, daß das Nehe-Tut. evtl. auf irgendwelche veralteten Releases aufsetzen könnte und das deshalb nicht klappt. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
derwunner Geschrieben 25. September 2010 Autor Teilen Geschrieben 25. September 2010 Hmm. Aber paar Anweisung sind ja gleich. Visual Studio meint aber bei jeder, dass sie nicht gefunden wird. Muss ich die Header Dateien jedes Mal ins Projekt mit einbinden? Oder hast du noch irgendwas anderes außergewöhnliches mit eingebunden? Auf jeden Fall mit den Header Dateien gehts bei mir nicht. MFG derwunner Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Crush Geschrieben 25. September 2010 Teilen Geschrieben 25. September 2010 Mehr ist nicht eingebunden. Du kannst noch probieren, bei den Settings->C/C++->Zusätzliche Includeverzeichnisse alle wichtigen Ordner hinzuzufügen, in denen etwas Relevantes steht. Außerdem könntest Du mal den Vorkompilierten Header neu erstellen und danach wieder auf ...verwenden zurück schalten. Bei Linker->Eingabe->Zusätzliche Abhängigkeiten alle Dlls und libs direkt eintragen. Das habe ich zwar alles nicht gebraucht, aber vielleicht hilft´s in Deinem Fall weiter. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
derwunner Geschrieben 25. September 2010 Autor Teilen Geschrieben 25. September 2010 Alles klappt nicht. Da steht immer z. B. "glu.h Wird bei der Suche nach Verwendung des vorkompilierten Headers übersprungen" Ich habe die glut.h ins Projekt eingebunden, ging nicht. Im Visual Studio VC\include Ordner auch nicht. Komischerwesie Header Dateien aus dem include Ordner, die vorher schon drin waren, gehen. Ich habe außerdem alle dll und libs die mit OpenGL zu tun haben bei weitere Abhängigkeiten eingebunden. Die libs waren ja auch schon vorher drin. Es kommen trotzdem immer noch die gleichen Fehler. MFG derwunner Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Crush Geschrieben 25. September 2010 Teilen Geschrieben 25. September 2010 glu.h und glut.h sind zwei verschiedene. Das weißt Du? Vielleicht ist da irgendwas mit den Dateizugriffsrechten verdreht? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
derwunner Geschrieben 25. September 2010 Autor Teilen Geschrieben 25. September 2010 Ne, daran liegts auch nicht. Dass glu und glut was anderes ist, weiß ich schon, war ja nur ein Beispiel für die Meldung, was bei allen Headern kommt. Also die Berechtigungen sind im Vergleich zu Headern, die schon vorher im include Ordner waren die gleichen. MFG derwunner Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Crush Geschrieben 25. September 2010 Teilen Geschrieben 25. September 2010 Pack doch das ganze Paket als 7zip (ultramode) zusammen, wie es ist und schick es mir zu - dann schau ich mal drüber. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
derwunner Geschrieben 25. September 2010 Autor Teilen Geschrieben 25. September 2010 Also die eine Zip Datei ist das Tutorial und die andere, das was ich an GLUT habe. MFG derwunneropengl_tut1.zipglut-3.7.6-bin.zip Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 25. September 2010 Teilen Geschrieben 25. September 2010 Alles klappt nicht. Da steht immer z. B. "glu.h Wird bei der Suche nach Verwendung des vorkompilierten Headers übersprungen"Wenn du vorkompilierte Header benutzt, muss die Includedirektive für den vorkompilierten Header (stdafx.h) die erste sein. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
derwunner Geschrieben 25. September 2010 Autor Teilen Geschrieben 25. September 2010 Also wenn ich diese Reihenfolge mache: #include <stdafx.h> #include <glut.h> #include <windows.h> #include <gl\gl.h> #include <gl\glu.h> #include <gl\glaux.h> #include <glext.h> dann gibt mir Visual Studio noch folgende Fehlermeldungen aus: 1 error C2381: 'exit': redefinition;_declspec(noreturn) unterscheidet sich. Fehler in Datei stdlib.h Zeile 371 2 warning C4985: "exit": Attribute sind in vorheriger Deklaration nicht vorhanden. Fehler in Datei stdlib.h in Zeile 371 3 fatal error C1083: Datei (Include) kann nicht geöffnet werden: "gl\glaux.h": No such file or directory Das mit in Datei XY habe ich hinzugefügt, weil es in VS noch eine Spalte namens Datei gibt bei der Fehlerbeschreibung. Das stdafx.h habe ich hinzugefügt, weil es anscheinend VS braucht. Sind aber mal auf jeden Fall schonmal bedeutend weniger Fehlermeldung von ca. 100 auf 3 runter :uli MFG derwunner Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Crush Geschrieben 25. September 2010 Teilen Geschrieben 25. September 2010 Also bei mir klappt alles einwandfrei. Nur GLaux ist nirgendwo zu finden, deshalb hängt er - klammer das aus, dann gehts. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
derwunner Geschrieben 25. September 2010 Autor Teilen Geschrieben 25. September 2010 Also ich habe mir jetzt mal glaux und glext runtergeladen. glext macht keine Probleme. Das soll ein Header sein für hohe Grafik. Glaux ist speziell für Windows und angeblich auch veraltet. Naja, wenn ich das reinmache kommen haufenweise neue Fehlermeldungen. MFG derwunner Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 26. September 2010 Teilen Geschrieben 26. September 2010 3 fatal error C1083: Datei (Include) kann nicht geöffnet werden: "gl\glaux.h": No such file or directoryDu hast die Headerverzeichnisse immer noch nicht richtig eingerichtet. Du musst in den Projekteinstellungen festlegen, wo Headerdateien gesucht werden sollen. Ich hoffe, du hast die Header nicht irgendwo hin kopiert. Das stdafx.h habe ich hinzugefügt, weil es anscheinend VS braucht.VS "braucht" das nur, wenn im Projekt die Verwendung vorkompilierter Header eingestellt ist. Man kann das auch abstellen. Sind aber mal auf jeden Fall schonmal bedeutend weniger Fehlermeldung von ca. 100 auf 3 runter :uliDie Anzahl der Fehlermeldungen sagt nicht viel aus. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
derwunner Geschrieben 26. September 2010 Autor Teilen Geschrieben 26. September 2010 Nein, ich habe sie nicht irgendwo abgelegt, sondern im Visual Studio 9.0 Order unter VC\include\gl Die Header werden ja auch jetzt gefunden. Jetzt kommen nur noch Konvertierungsfehler von verschiedenen MessageBoxW . Und dass beim Header glaux.h ein unerwartetes Token nach Präprozessorperdirektive - Zeilenvorschub erwartet. Meine includes sehen jetzt so aus: #include <gl\glut.h> #include <windows.h> #include <gl\gl.h> #include <gl\glu.h> #include <gl\glaux.h> #include <gl\glext.h> MFG derwunner Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 26. September 2010 Teilen Geschrieben 26. September 2010 Jetzt kommen nur noch Konvertierungsfehler von verschiedenen MessageBoxWDie genaue Fehlermeldung ist wichtig. Ich tippe darauf, dass du im Projekt als Zeichencodierung Unicode eingestellt hast. Die Windows-Funktionen wie MessageBox erwarten String-Parameter als Wide Character. Du könntest einfach auf Multi-Byte umstellen, falls du kein Unicode benutzen willst. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
derwunner Geschrieben 26. September 2010 Autor Teilen Geschrieben 26. September 2010 Also, folgende Fehlermeldungen kommen noch: error C2381: 'exit': redefinition; _declspec(noreturn) unterscheidet sich Zeile 371 warning C4985: "exit": Attribute sind in vorheriger Deklaration nicht vorhaden. Zeile 371 warning C4067: Unerwartete Token nach Präprozessordirektive - Zeilenvorschub nicht erwartet. Zeile 5 error C2664: 'MessageBoxW': Konvertierung des Parameters 2 von 'const char[40]' in 'LPCWSTR' Zeile 111 error C2440: '=': 'const char[7]' kann nicht in 'LPCWSTR' konvertiert werden error C2664: 'CreateWindowExW': Konvertierung des Parameters 2 von 'const char[7]' in 'LCPWSTR' nicht möglich MFG derwunner Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 26. September 2010 Teilen Geschrieben 26. September 2010 error C2381: 'exit': redefinition; _declspec(noreturn) unterscheidet sich Zeile 371 warning C4985: "exit": Attribute sind in vorheriger Deklaration nicht vorhaden. Zeile 371Das bringt nicht viel ohne die Dateien. Kopier die Meldungen bitte aus "Output", nicht "Error List". error C2664: 'MessageBoxW': Konvertierung des Parameters 2 von 'const char[40]' in 'LPCWSTR' Zeile 111 error C2440: '=': 'const char[7]' kann nicht in 'LPCWSTR' konvertiert werden error C2664: 'CreateWindowExW': Konvertierung des Parameters 2 von 'const char[7]' in 'LCPWSTR' nicht möglichWie gesagt, entweder die Strings auf Wide-Character umstellen, oder das Projekt auf Multi-Byte. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Crush Geschrieben 26. September 2010 Teilen Geschrieben 26. September 2010 Stimmt, bei mir ist Multi-Byte eingestellt. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
derwunner Geschrieben 26. September 2010 Autor Teilen Geschrieben 26. September 2010 Also das heißt ich müsste entweder im Projekt auf Multi-Byte umstellen, oder die ganzen Datentypen in Wide String ändern? Wie geht das mit Multi-Byte? Hab schonmal danach gegogelt, aber ohne wirkliche Ergebnisse. Und wozu die Output? Kann ich damit die Fehler in eine Textdatei speichern? Sorry wenn euch manche Fragen komisch vorkommen, aber ich bin noch relativ neu in C++. MFG derwunner Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 26. September 2010 Teilen Geschrieben 26. September 2010 Wie geht das mit Multi-Byte? Hab schonmal danach gegogelt, aber ohne wirkliche Ergebnisse.Project Properties > Configuration Properties > C/C++ > General > Character Set --> Use Multi-Byte Character Set Und wozu die Output?Ich vermute, dass bei deinen Fehlermeldungen die Dateinamen fehlen, weil du sie aus der Error List kopierst. Im Output-Fenster sollten sie mit drin sein. Sorry wenn euch manche Fragen komisch vorkommen, aber ich bin noch relativ neu in C++.Dann solltest du dich erst einmal darum kümmern, dass du in den Grundlagen von C++ und der Bedienung deiner Entwicklungsumgebung sattelfest wirst, bevor du dich an OpenGL wagst. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
derwunner Geschrieben 27. September 2010 Autor Teilen Geschrieben 27. September 2010 Also mit Visual Studio 2008 arbeite ich jetzt schon ein Jahr. In C# habe ich bis jetzt noch nie sowas gebraucht. Ähm ich habs versucht zu übersetzen, ich habs nämlich in deutsch. Hab überall gesucht, leider nicht gefunden -.- MFG derwunner Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.