[OpenGL] Problem mit Release Version von Projekt (VC2003)



  • Hallo,
    also ich möchte hier einmal kruz die problematik erläutern:
    unter dem Link: http://blocknet.dyndns.info/tyler/main.html
    findet man den Source von meinem 3D Projekt,welches ja auch soweit funktioniert.
    wenn da nicht dieses kuriose problem wäre.
    deswegen brauche ich eure hilfe!

    in der IDE (VC NET2003) wird im Debug und im Release modus
    das 3D object (je nach model zw 256 und 130000 polygonen) fehlerfrei incl. texturen dargestellt.

    startet man hingegen die main.exe
    als Release Compiliert wird jedoch anscheinend irgendetwas nicht erfolgreich geladen.
    Das Hauptfenster bleibt transparent.
    Es wird OpenGL zwar erfolgreich geladen(TreiberInfo verfügbar).
    Dennoch gelingt nicht die Darstellung in dem Fenster.

    als Debug Compiliert wird das Fenster jedoch erfolgreich erstellt.
    und die Objekte korrekt dargestellt.

    ich würde mich freuen wenn ihr die geduld aufbrignt, FreeD zu laden
    und mir bei diesem nervigen problem helfen könnt.

    Übrigens ist OpenGL in einer dynamischen dll implementiert
    und ich habe schon sehr viele Projekteinstellungen bzgl. dem Zusammenspiel
    der main.exe und der dll ausprobiert.

    mfg Tyler



  • Vermutlich hast du einen Fehler im Programm. Beseitige diesen.

    Siehe auch MSDN zu den Unterschieden Debug/Release.

    Bye, TGGC (Keine Macht den Dummen)



  • also ich such jetzt schon anderthalb tage nach dem sch... fehler!
    Es leigt definitiv an der dll, in der ich openGL gekapselt habe.
    in der IDE arbeitet sie korrekt.
    ausserhalb nicht mehr!
    ich weiss nicht was ich noch probieren soll...
    mit debuger gibts den fehler nicht und ohne konnte ich ihn
    selbst mit logfile protokollierung nicht aufspüren!

    Es kann doch nicht der erste sein der dieses problem hatt!

    mfg tyler



  • dieses Problem hast du wahrscheinlich als erster, weil wohl niemand sonst dein Compilat hat.

    Aber wie TGGC dir schon als best möglichen tip sagte, schau in der MSDN nach, welche unterschiede es gibt zwischen dem starten einer release version im devstudio und dem starten außerhalb. So findest du am ehersten indizien dafür was falsch läuft bei deinem compilat. Wie du schon selbst gesagt hast, es läuft mi devstudio und außerhalb nicht, der unterschied muss die lösung sein. ich hatte so ein problem zwar auch schon paar mal, aber ich kenne die unterschiede nicht alle auswendig zwischen devstudio-release und release. Es kann an anderen DLLs liegen, daran dass devstudio irgendwas initialisiert was du beim selbstinitialisieren falsch machst, es kann an falschen pfaden liegen die dir das devstudio selbst stellt...
    wenn du dir aber sicher bist dass es an dieser einen DLL liegt, mach dir eine testumgebung in der du die DLL dann benutzt, vielleicht findest du so einfacher den fehler als sie in einem großprojekt angebunden zu haben.

    rapso->greets();

    btw. möchtest du vielleicht in den vs-compiler forumsbereich verschoben werden? denn du hast ja kein problem mit der graphik/spieleprogrammierung sondern ein compilatsproblem. ?



  • ok
    vielleicht hilft eine verschiebung des threads in in den vs-compiler forumsbereich.

    übrigens geht die release main.exe wenn ich die debug .dll in ihr verzeichnis kopiere.
    pfadangaben etc. sind in debug wie release version identisch.

    ürsprünglich hatte ich die hoffnung das es sich hierbei um ein bekanntes problem handelt,welches schnell von erfahrenen leuten erkannt wird.

    dennoch vielen dank für die bisherherige Hilfe
    mfg Tyler



  • ok ich habe den fehler gefunden!
    Alles ist gut!
    folgende Ursache:
    die release Version hat sich bei einer nicht gesetzten bool variable
    als einzige richtig verhalten!
    in der ide sowie in der debug dll wurde die bool variable ignoriert!
    wieso auch immer...
    (eigentlich hätte ja eine debug assertion geworfen werden müssen)

    die gute alte MsgBox hatt mir das übrigens verraten.

    mfg Tyler
    und danke für die hilfe!
    bin halt noch anfänger.

    P.S. wer den download nicht scheut,sollte sich auf jeden fall einmal die
    netten modelle meines projektes ansehen(HI-Polygon)
    http://blocknet.dyndns.info watch for Tyler...



  • in der ide und debug version wird der speicher wohl vor dem allokieren resettet (im debug auf 0xcdcdcdcd), steht jedenfalls in der msdn.

    rapso->greets();



  • Dieser Thread wurde von Moderator/in rapso aus dem Forum Spiele-/Grafikprogrammierung in das Forum MFC mit dem Visual C++ verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.


Anmelden zum Antworten