allegro + wingdi.h



  • hi,
    ich hätte da mal ne frage:
    nachdem ich meine fp formatiert hatte und windows neu draufgemacht hatte, hab ich den dev-c++ 4.9.8.5 draufgespielt. jetzt wollte ich nochmal 'n projekt von mri kompilieren, welches allegro nutzt. das geht jetzt plötzlich nicht mehr. ich bekomm ne fehlermeldung "conflicting types" für die BITMAP struct und ne redefinition davon (allegro und wingdi.h). und danach entsprechende andere fehler die sich alle darauf beziehen. kann mir jemand sagen, woran das liegen könnte? (windows.h hab ich nich mit drin) danke.
    mfg
    BlackSting



  • Hmm, lies mal in den Windows-spezifischen Sachen im Manual nach.
    Mal sehen, ob ich am Wochenende mehr Zeit finde mal nachzusehen.



  • da steht nix in der richtung drinnen, nur von wegen winalleg.h includieren wenn man was mit der winapi machen will...aber ich hab ja noch nich mal die windows.h includiert...und vor dem neu inst. hats ja auch geklappt...also ka wieso..
    [edit]habs mal mit der winalleg.h versucht....klappt aber auch nich...[/edit]
    mfg
    Black Sting



  • nur eine idee am rande:

    hast du die (windows spezifisch erwünschte) präprozessordefinition

    USE_CONSOLE

    eingebunden?

    ich hatte auch mal fehlers, die auf einer solchen fehlenden anweisung beruhten.



  • Ich denke, es war so, dass er die wingdi.h gar nicht ansprechen darf, sondern nur windows.h vor allegro.h. Dann wird als Grafiktreiber in der ini-Datei GDI angewählt. Aber, ich muss es halt nochmal durchprobieren. Das USE_CONSOLE ist nur für reine Konsolenanwendungen wichtig - wobei 'rein' auch wieder nur besagt, dass dann das Konsolenfenster einfach noch extra vorhanden ist, wenn trotzdem Grafik benutzt wird. Man kann in einer Konsolenanwendung trotzdem nach DirectX rüber.



  • hi, hat irgendwie alles net so richtig geklappt...ich hab jetzt einfach die iostream rausgenommen...jetzt gehts, da ich keine windows.h mehr drin habe. danke trotzdem.
    mfg
    Black Sting



  • ...erm, ...interessant, ...Gratulation!
    (möglicherweise ist dabei mehr als eine Zeile gelöscht worden :P)



  • danke, danke :). stimmt, is mehr gelösch worden....eine include zeile...und zwei cout's 😛
    ich nehme mal an, dass ich die winalleg.h zu spät includiert habe (nach der iostream). daran könnte es gelegen haben...naja
    thx
    mfg
    Black Sting



  • Das Problem tritt deswegen auf weil die STL-Library die (glaub) windgi.h durch windows.h inkludiert. Schreibe deswegen #define NOGDI vor den stl-Bibliotheken (und vor windows.h falls diese inkludiert wird), damit die wingdi.h nicht inkludiert wird.



  • ah, danke, das werd ich mal ausprobieren :). thx
    mfg
    Black Sting


Anmelden zum Antworten