Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
manu Super JLI'ler
Alter: 35 Anmeldedatum: 09.03.2006 Beiträge: 327 Wohnort: allgäu (DE) Medaillen: Keine
|
Verfasst am: 14.02.2007, 18:25 Titel: [VS 05]OpenGl + Win32 Konsolenanwendung = Probleme ohne Ende |
|
|
Hi,
Da mein interesse zu OpenGl momentan immens am Wachsen ist, habe ich nun begonnen mich etwas intensiver damit zu beschäftigen.
und zwar würde ich gerne mit der SDL arbeiten. Das ist der Grund dafür, dass ich eine Win32 Konsolenanwendung aufgesetzt habe. Nun ist das Problem, dass wenn ich die OpenGL Includes meinem Code hinzufüge vom Compiler ( VC++ 8 ) ettliche Fehler in der gl.h gefunden werden, die mir unerklärlich sind. Um genau zu sein rattert _es_ 286 Fehler runter.
Nach mehreren Tagen rum probieren, bin ich darauf gekommen, dass das nur bei Konsolenanwendungen mit main() Einstiegsfunktion passiert. benutze ich die WinApi und includiere die gl.h bereitet dies keine Probleme.
Seltsam ist aber, dass wenn ich ältere OpenGL Projekte, so vor gut nem Jahr erstellt, öffne kann ich diese noch problemlos Compilieren. damals verwendete ich auch SDL und OpenGL zusammen in einem W32 Konsolenprojekt
ich bin also nun echt überfragt, vielleicht kann mir jemand bei der Lösung des Problems behilflich sein.
danke
Edit:
Ein paar wahllos ausgewählte Fehler. Alle 286 wollte ich nun nicht hier rein kopieren!
Code: |
Fehler 2 error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. e:\microsoft visual studio 8\vc\platformsdk\include\gl\gl.h 1152
Fehler 3 error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'glAccum' e:\microsoft visual studio 8\vc\platformsdk\include\gl\gl.h 1152
Fehler 4 error C2182: 'APIENTRY': Unzulässige Verwendung des Typs 'void' e:\microsoft visual studio 8\vc\platformsdk\include\gl\gl.h 1152
Fehler 5 error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. e:\microsoft visual studio 8\vc\platformsdk\include\gl\gl.h 1152
Fehler 6 error C2144: Syntaxfehler: 'void' sollte auf ';' folgen e:\microsoft visual studio 8\vc\platformsdk\include\gl\gl.h 1153
Fehler 9 error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'glAlphaFunc' e:\microsoft visual studio 8\vc\platformsdk\include\gl\gl.h 1153
e:\microsoft visual studio 8\vc\platformsdk\include\gl\gl.h 1157
Fehler 36 error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'glBindTexture' e:\microsoft visual studio 8\vc\platformsdk\include\gl\gl.h 1157
Fehler 37 error C2182: 'APIENTRY': Unzulässige Verwendung des Typs 'void' e:\microsoft visual studio 8\vc\platformsdk\include\gl\gl.h 1157
Fehler 42 error C2086: 'int WINGDIAPI': Neudefinition e:\microsoft visual studio 8\vc\platformsdk\include\gl\gl.h 1158
Fehler 43 error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'glBitmap' e:\microsoft visual studio 8\vc\platformsdk\include\gl\gl.h 1158
Fehler 44 error C2182: 'APIENTRY': Unzulässige Verwendung des Typs 'void' e:\microsoft visual studio 8\vc\platformsdk\include\gl\gl.h 1158
Fehler 45 error C2086: 'int APIENTRY': Neudefinition e:\microsoft visual studio 8\vc\platformsdk\include\gl\gl.h 1158
Fehler 49 error C2086: 'int WINGDIAPI': Neudefinition e:\microsoft visual studio 8\vc\platformsdk\include\gl\gl.h 1159
Fehler 51 error C2182: 'APIENTRY': Unzulässige Verwendung des Typs 'void' e:\microsoft visual studio 8\vc\platformsdk\include\gl\gl.h 1159
Fehler 52 error C2086: 'int APIENTRY': Neudefinition e:\microsoft visual studio 8\vc\platformsdk\include\gl\gl.h 1159
Fehler 67 error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. e:\microsoft visual studio 8\vc\platformsdk\include\gl\gl.h 1161
Fehler 68 error C2144: Syntaxfehler: 'void' sollte auf ';' folgen
|
Zuletzt bearbeitet von manu am 16.02.2007, 16:56, insgesamt einmal bearbeitet |
|
Nach oben |
|
|
manu Super JLI'ler
Alter: 35 Anmeldedatum: 09.03.2006 Beiträge: 327 Wohnort: allgäu (DE) Medaillen: Keine
|
Verfasst am: 16.02.2007, 16:54 Titel: |
|
|
hi,
Kann mir keiner helfen? Ich habe es bis jetzt noch nicht hinbekommen. |
|
Nach oben |
|
|
Jonathan_Klein Living Legend
Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 16.02.2007, 16:56 Titel: |
|
|
Hm, und wenn du imemr Windwosprogramme machst? So mit winmain und so? Spricht da was gegen?
Ka, den bei dx musste das ja auch imemr mit nem Window machen, und es geht nicht mit Konsole (bzw. macht man einfach nicht). _________________ https://jonathank.de/games/ |
|
Nach oben |
|
|
manu Super JLI'ler
Alter: 35 Anmeldedatum: 09.03.2006 Beiträge: 327 Wohnort: allgäu (DE) Medaillen: Keine
|
Verfasst am: 16.02.2007, 17:23 Titel: |
|
|
Jonathan_Klein hat Folgendes geschrieben: | Hm, und wenn du imemr Windwosprogramme machst? So mit winmain und so? Spricht da was gegen?
Ka, den bei dx musste das ja auch imemr mit nem Window machen, und es geht nicht mit Konsole (bzw. macht man einfach nicht). |
Ja könnte ich theoretisch auch. Nur weiss ich nicht ob SDL damit kompatibel ist und ich will auch so weit wie möglich plattformunabhängig Arbeiten.
Das seltsamme ist ja auch, dass ich früher kein problem damit hatte opengl header in win32 Konsolenprojekten zu includieren. Ältere projekte laufen sogar und lassen sich auch problemlos Compilieren.
Hingegen neue, die ich jetzt erstelle, mit gleichen projekteinstellungen wollen einfach nicht laufen. ich bin da echt überfragt, da das für mich einfach extrem seltsam ist... |
|
Nach oben |
|
|
magynhard Super JLI'ler
Anmeldedatum: 26.04.2003 Beiträge: 461 Wohnort: Wild durch die Welt ;-) Medaillen: Keine
|
Verfasst am: 16.02.2007, 17:44 Titel: |
|
|
Zeig mal die Quelltextausschnitte, zumindest von allen #include's und ggf. etwas main...
Könnte evtl. hilfreich sein. Mehr Augen sehen mehr. _________________ Niemand ist hoffnungsloser versklavt als der, der fälschlich glaubt frei zu sein. [J. W. Goethe]
|
|
Nach oben |
|
|
manu Super JLI'ler
Alter: 35 Anmeldedatum: 09.03.2006 Beiträge: 327 Wohnort: allgäu (DE) Medaillen: Keine
|
Verfasst am: 16.02.2007, 18:03 Titel: |
|
|
das reicht schon um den fehler auszulösen. Ob ich nun noch sdl einbinde oder sonst irgendwas an Code schreibe spielt keine Rolle.
(die entsprechenden .lib dateien sind natürlich eingebunden)
CPP: | #include <gl\gl.h>
int main()
{
return 0;
}
|
was mir aber eben auffällt ist, dass mein visualstudio allgemein etwas rumzickt. Z.B. kommt immer die Meldung, wenn ich ein Projekt öffne, dass keine Intellisens-Informationen verfügbar seien und auch weitere Funktionen eingeschränkt sind, da angeblich die .ncb datenbank im Projektverzeichnis schreibgeschützt sei (was sie aber nicht ist) |
|
Nach oben |
|
|
Dragon Super JLI'ler
Alter: 38 Anmeldedatum: 24.05.2004 Beiträge: 340 Wohnort: Sachsen Medaillen: Keine
|
Verfasst am: 16.02.2007, 20:11 Titel: |
|
|
Wenn du OpenGL unter windows verwenden willst, musst du immer vorher die windows.h einbinden.
CPP: | #include <windows.h>
#include <gl\gl.h>
int main()
{
return 0;
}
|
_________________ Nur wenn man ein Ziel sieht, kann man es auch treffen.
___________
Mein Leben, Freunde und die Spieleentwicklung |
|
Nach oben |
|
|
manu Super JLI'ler
Alter: 35 Anmeldedatum: 09.03.2006 Beiträge: 327 Wohnort: allgäu (DE) Medaillen: Keine
|
Verfasst am: 16.02.2007, 20:37 Titel: |
|
|
Dragon hat Folgendes geschrieben: | Wenn du OpenGL unter windows verwenden willst, musst du immer vorher die windows.h einbinden.
CPP: | #include <windows.h>
#include <gl\gl.h>
int main()
{
return 0;
}
|
|
rofl. Das war echt das Problem. Ich glaubs ja garnichts. dabei dachte ich es schon so probiert zu haben.
najo danke |
|
Nach oben |
|
|
Jonathan_Klein Living Legend
Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 16.02.2007, 22:09 Titel: |
|
|
und hattest du das auch bei deinen älteren projekten gemach t? Müsstest du ja eigentlich. _________________ https://jonathank.de/games/ |
|
Nach oben |
|
|
manu Super JLI'ler
Alter: 35 Anmeldedatum: 09.03.2006 Beiträge: 327 Wohnort: allgäu (DE) Medaillen: Keine
|
Verfasst am: 16.02.2007, 22:20 Titel: |
|
|
Jonathan_Klein hat Folgendes geschrieben: | und hattest du das auch bei deinen älteren projekten gemach t? Müsstest du ja eigentlich. |
ja hab ich damals gemacht. Aber das war jetzt ein Punkt, den ich komplett übersehen hatte. Vorallem da ich eigentlich gemeint hatte, es schon mit dem includieren der windows.h probiert hatte..
Manchmal sieht man halt den Wald vor lauter Bäumen nicht
najo jetzt geht auf jeden Fall... |
|
Nach oben |
|
|
magynhard Super JLI'ler
Anmeldedatum: 26.04.2003 Beiträge: 461 Wohnort: Wild durch die Welt ;-) Medaillen: Keine
|
Verfasst am: 18.02.2007, 17:10 Titel: |
|
|
In Kombination mit SDL sollte man doch sowieso
Code: |
#include <SDL/SDL_opengl.h>
|
anstatt
verwenden.
Die von SDL gelieferte Datei bindet ohnehin sowieso gl.h mit ein und enthält vermutlich sonst noch diverse nötige oder plattformspezifische Erweiterungen. _________________ Niemand ist hoffnungsloser versklavt als der, der fälschlich glaubt frei zu sein. [J. W. Goethe]
|
|
Nach oben |
|
|
|