JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=2f333b80e493bed4ab1dde8c012a49aeMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

[VS 05]OpenGl + Win32 Konsolenanwendung = Probleme ohne Ende

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
manu
Super JLI'ler


Alter: 34
Anmeldedatum: 09.03.2006
Beiträge: 327
Wohnort: allgäu (DE)
Medaillen: Keine

BeitragVerfasst am: 14.02.2007, 19:25    Titel: [VS 05]OpenGl + Win32 Konsolenanwendung = Probleme ohne Ende Antworten mit Zitat

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 Smile


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, 17:56, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
manu
Super JLI'ler


Alter: 34
Anmeldedatum: 09.03.2006
Beiträge: 327
Wohnort: allgäu (DE)
Medaillen: Keine

BeitragVerfasst am: 16.02.2007, 17:54    Titel: Antworten mit Zitat

hi,

Kann mir keiner helfen? Ich habe es bis jetzt noch nicht hinbekommen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jonathan_Klein
Living Legend


Alter: 36
Anmeldedatum: 17.02.2003
Beiträge: 3431
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 16.02.2007, 17:56    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
manu
Super JLI'ler


Alter: 34
Anmeldedatum: 09.03.2006
Beiträge: 327
Wohnort: allgäu (DE)
Medaillen: Keine

BeitragVerfasst am: 16.02.2007, 18:23    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
magynhard
Super JLI'ler



Anmeldedatum: 26.04.2003
Beiträge: 461
Wohnort: Wild durch die Welt ;-)
Medaillen: Keine

BeitragVerfasst am: 16.02.2007, 18:44    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
manu
Super JLI'ler


Alter: 34
Anmeldedatum: 09.03.2006
Beiträge: 327
Wohnort: allgäu (DE)
Medaillen: Keine

BeitragVerfasst am: 16.02.2007, 19:03    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Dragon
Super JLI'ler


Alter: 37
Anmeldedatum: 24.05.2004
Beiträge: 340
Wohnort: Sachsen
Medaillen: Keine

BeitragVerfasst am: 16.02.2007, 21:11    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
manu
Super JLI'ler


Alter: 34
Anmeldedatum: 09.03.2006
Beiträge: 327
Wohnort: allgäu (DE)
Medaillen: Keine

BeitragVerfasst am: 16.02.2007, 21:37    Titel: Antworten mit Zitat

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. Embarassed

najo danke
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jonathan_Klein
Living Legend


Alter: 36
Anmeldedatum: 17.02.2003
Beiträge: 3431
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 16.02.2007, 23:09    Titel: Antworten mit Zitat

und hattest du das auch bei deinen älteren projekten gemach t? Müsstest du ja eigentlich.
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
manu
Super JLI'ler


Alter: 34
Anmeldedatum: 09.03.2006
Beiträge: 327
Wohnort: allgäu (DE)
Medaillen: Keine

BeitragVerfasst am: 16.02.2007, 23:20    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
magynhard
Super JLI'ler



Anmeldedatum: 26.04.2003
Beiträge: 461
Wohnort: Wild durch die Welt ;-)
Medaillen: Keine

BeitragVerfasst am: 18.02.2007, 18:10    Titel: Antworten mit Zitat

In Kombination mit SDL sollte man doch sowieso
Code:

#include <SDL/SDL_opengl.h>


anstatt

Code:

#include <gl/gl.h>


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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum