Wie krieg ich GD-Library auf Win zum laufen?
-
Hi,
Jo poste mal den Code und die exakten Fehlermeldungen dazu auch.mfg
blut-lecker
-
Dieser Source stammt von www.pronix.de
Hab aber noch bisschen was verändert.
Code:#include <stdio.h> #include <stdlib.h> #include "gd.h" int main() { /*image initialisieren*/ gdImagePtr image; FILE *png; int black, white, red, blue, yelow; /*Wir erzeugen ein Image mit 100x100 Pixel*/ image=gdImageCreateTrueColor(100,100); /*Speicher für die Farben allozieren*/ white=gdImageColorAllocate(image, 0, 0, 0); /*Weiß*/ black=gdImageColorAllocate(image,255,255,255); /*Schwarz*/ red =gdImageColorAllocate(image,255, 0, 0); /*Rot*/ blue =gdImageColorAllocate(image, 0, 0,255); /*Blau*/ yelow=gdImageColorAllocate(image,255,255, 0); /*Gelb*/ gdImageRectangle(image, 0, 0, 99, 99, black); gdImageRectangle(image, 1, 1, 49, 49, yelow); gdImageFill (image, 25, 25, red); gdImageRectangle(image, 50, 1, 98, 49, yelow); gdImageFill (image, 75, 25, blue); gdImageRectangle(image, 1, 50, 49, 98, yelow); gdImageFill (image, 25, 75, blue); gdImageRectangle(image, 50, 50, 98, 98, yelow); gdImageFill (image, 75, 75, red); png = fopen("bild1.png", "wb"); gdImagePng(image,png); fclose(png); gdImageDestroy(image); return 0; }Fehlermeldungen:
**
undefined reference to gdImageCreateTrueColor :warning: [Linker error] undefined reference togdImageColorAllocate'
[Linker error] undefined reference to gdImageRectangle' :warning: [Linker error] undefined reference togdImageFill'
[Linker error] undefined reference to gdImagePng' :warning: [Linker error] undefined reference togdImageDestroy'
**Die jeweiligen Meldungen tauchen aber öfter auf, weil sie ja öfter
im Progg verwendet werden. Hab das aber wegen Platz speren jetz weggelassen.
-
Hi,
Also bei mir läufts ohne Probleme durch, allerdings mit Code::Blocks.
Das einzige, was ich mir vorstellen könnte: wieso schreibst du: #include "gd.h"
also bei mir meckert er da zwar nicht, aber schaut der Compiler da normalerweise nicht im Projektverzeichnis nach der Headerdatei?! Oder hat das einen bestimmten Grund, dass du nicht #include <gd.h>, schreibst?mfg
blut-lecker
-
Die gd.h is ja auch im Projektverzeichnis drin.
Also damit hat des jetz nix zu tun.
-
Hi,
Ja, dann weiß ich au nimmer weiter, wieso das eine Proggi durchläuft und das andere nicht.mfg
blut-lecker
-
Und aus dem Source wirst du sonst auch nich schlau?
-
Hi,
Naja, das ist ja bis auf #include <stdlib.h> und #include "gd.h" der Code von Pronix, wenn ich das recht sehe. Und das Pronix Programm, aber auch dein Code funzen bei mir. Und da es bei dir ja mit dem anderen Code des Links von mir gefunzt hat, kann ich dir au net mehr sagen. Ich gehe davon aus, dass du die Schritte aus dem Video auch für diesen Code gemacht hast.
Das einzige was ich noch sagen kann: Ich hab auch ewig gebraucht, bis ich das damals zum Laufen gebracht habe.Vielleicht weiß ja hier im Forum noch jemand Rat oder du suchst halt noch n bissl im I-Net rum.
mfg
blut-lecker
-
OK, trotzdem danke für deine Hilfe.
Kann es vielleicht an meinen Compiler-Einstellungen liegen?
-
ich glaube es liegt daran, dass der linker nicht richtig eingestellt ist. Irdendwo in Dev C++ (kp wo habs lange nicht mehr verwendet) kannst du linkerflags setzten, und dort auch dann deine libraries dazulinken. Soweit ich weiß aber ohne endung, also nur -l(name) und kein .lib oder so, dann müsste es auch klappen.
-
Danke für den Super Tipp, Krux!

Jetz kann ich die Proggs kompilieren!
Aber ich stehe vor dem nächsten Problem:
Ich möchte bei einem anderen Source auf ein vorhandenes Pic
etwas "draufmalen". Aber ich kann dieses nicht öffnen.
Liegt es vielleicht an den Rechten oder so?