CImg.h unter Windows (wxDev C++) einbinden
-
Hallo zusammen,
ich möchte unter Windows mit der Grafikbibliothek CImg arbeiten. Als Compiler verwende ich den wxDev-C++ Version: 6.10.2.
Mit dem Befehl#include "CImg.h"
sollte die Bibliothek auch geladen werden. Ich wollte vorerst einfach nur drei linien zeichnen lassen.
Mein Programm sieht bisher so aus:#include "CImg.h"
#include <iostream>using namespace cimg_library;
using namespace std ;int main()
{
CImg<unsigned char> canvas( 300, 200, 1, 3, 0);
CImgDisplay main_disp( canvas, "A CImg-Example");const unsigned char black[] = { 0, 0, 0} ,
white[] = { 255, 255, 255},
red[] = { 255, 0,0 },
green[] = { 0, 255, 0 },
blue[] = { 0, 0, 255 },
yellow[] = { 255, 255, 0 };
canvas.fill( 0) ;canvas.draw_line( 150, 50, 100, 135, white, 1.0) ;
canvas.draw_line( 150, 50, 200, 135, white, 1.0) ;
canvas.draw_line( 50, 135, 200, 135, white, 1.0) ;main_disp.display(canvas) ;
cout << "Click into the window of the image..." << endl ;
cout << "Bye" << endl ;system("PAUSE");
}Leider klappts aber irgendwie nicht.
Die Datei Cimg.h hab ich nun so gut wie in jedem Ordner stehen. (Also zum einen dort, wo mein Quelltext ist und dann noch im Unterordner Output/MingW.
Als Fehlermeldung erhalte ich:[Linker Error] undefined reference to `SetDIBitsToDevice@48'
ld returned 1 exit status
[...]\Aufgabe 28\Makefile.win [Build Error] exe: ***Output/MingW/Projekt1.exe] Error 1Nun weiß ich echt nicht weiter, was ich noch machen muss. Ach ja, bei Compiler-Werkzeugen hab ich unter Optionen bereits
-lgdi32 beim Compiler-Aufruf hinzugefügt.Vielen Dank im Voraus,
Grüße,
MarisPS: Hinauslaufen soll das ganze dann darauf, dass ich die "Kochsche Schneeflocke" programmieren kann.
-
Sieht so aus als ob die libgdi32.a Library den Linker nicht bekannt ist.
-
und wie mach ich die dem linker bekannt?
Sorry, ich kenn mich da leider echt nicht aus.
-
und wie mach ich die dem linker bekannt?
Sorry, ich kenn mich da leider echt nicht aus.
-
ah, Danke Ramsis,
hab nun nochmal explizit nach Linker gesucht und gefunden, wo ich das -lgdi32 eintragen kann.
Nun funktionierts.
In der Anleitung, die wir von unserm Prof bekommen hatten, war ein falscher Eintragungsort beschrieben.
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Compiler- und IDE-Forum verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.