Programm stürtzt ab



  • Ich wollte gerade die GD library mit C ausprobieren. Dazu hab ich folgenden code getestet:

    int main() 
    {
    	gdImagePtr im;
    	FILE *pngout, *jpegout;
    	int black;
    	int white;
    
    	im = gdImageCreate(64, 64);
    	black = gdImageColorAllocate(im, 0, 0, 0);
    	white = gdImageColorAllocate(im, 255, 255, 255);
    
    	gdImageLine(im, 0, 0, 63, 63, white);
    
    	pngout = fopen("test.png", "wb");
    	jpegout = fopen("test.jpg", "wb");
    
    	gdImagePng(im, pngout);
    	gdImageJpeg(im, jpegout, -1);
    
    	fclose(pngout);
    	fclose(jpegout);
    
    	gdImageDestroy(im);
    
    	return 0;
    }
    

    lib hab ich drin und die bgd.dll ist auch installiert. Kompilieren und linken funktioniert mit dem VS2008 express wunderbar nur wenn ich es aus der IDE starte um es zu debuggen (was ich mit jedem anderen programm dass ich geschrieben habe ohne probleme machen lässt) sagt er mir, er könne nicht auf die exe zugreifen und sie deshalb auch nicht starten. Existieren tut sie aber. Wenn ich sie manuell starte erstellt er mir test.jpg und test.png, die total leer sind (0byte) und stürtzt nach 5sec ab. Debuggen geht ja leider nicht möglich.

    Hoffe mir kann einer helfen. Falls ihr mehr infos brauchen solltet einfach melden.

    //edit wenn ich es ohne debbuggen aus VS2008express starte funktioniert es auch nur eben nicht wenn ich es debuggen will dass ist mein haupt problem. ich weiß einfach nicht warum 😮



  • Hier wird man dir wahrscheinlich schlecht helfen können, da diese Library nicht allen bekannt ist (ausserdem wird in diesem Unterforum eher über C++ als C gesprochen). Das Spiele-/Grafikprogrammierung-Forum wäre sicher auch keine schlechte Wahl.

    Hast du auch gegen die richtigen Bibliotheken gelinkt (also auch für den Debug-Modus)? Meistens müssen da unterschiedliche Libs verwendet werden.

    Ansonsten stimmt vielleicht etwas mit dem Projekt nicht. Erstelle ein komplett neues, und kopiere den Sourcecode. Das gibt es manchmal (auch wenn es hier eher unwahrscheinlich ist).



  • Nexus schrieb:

    Hast du auch gegen die richtigen Bibliotheken gelinkt (also auch für den Debug-Modus)? Meistens müssen da unterschiedliche Libs verwendet werden.

    Hab ich mir auch schon gedacht hab aber nur 4 lib dateien:
    bgd.lib
    bgd_a.lib
    webpng.lib
    gdtest.lib

    Aber nur mit der bgd funktionierts.

    mfg tobZel



  • tobZel schrieb:

    Aber nur mit der bgd funktionierts.

    mfg tobZel

    Wie meinst du das? Wenn du die anderen libs weglässt, dann funktioniert dein Programm?!



  • Wenn ich die die bgd.lib verwende lässt es sich linken. Abstürtzen tuts sowieso. Ich bezweifel dass es an einer fehlenden debug library liegt, da wenn ich es als release compiliere es auch nicht funktioniert. Dann kann ich es jedoch direkt aus VS2008exp starten.

    Mit denen hier lässt sich das Programm nicht linken, da er beklagt dass die verweise fehlen.
    bgd_a.lib
    webpng.lib
    gdtest.lib

    Naja ich denke ich werde wohl auf gd verzichten oO scheint mir irgentwie nicht so ganz auf die windows nutzung zugeschnitten zu sein. Auf meinem labtop mit ubuntu funkts wunderbar 🙂

    Falls noch einer ne idee hat einfach sagen bin über alles dankbar 🙂

    mfg tobZel



  • tobZel schrieb:

    int main() 
    {
    	pngout = fopen("test.png", "wb");
    	jpegout = fopen("test.jpg", "wb");
            // [...]
    	fclose(pngout);
    	fclose(jpegout);
    }
    

    Ein Test auf einen validen Filepointer waere echt angebracht. pngout und jpegout sind naemlich u.U. NULL.


Anmelden zum Antworten