Probleme de compilation avec GDI+ sous DevCpp

Probleme de compilation avec GDI+ sous DevCpp - C++ - Programmation

Marsh Posté le 23-10-2005 à 16:48:57    

Bonjour,
 
J'essais de compiler un projet utilisant gdi+ sous devcpp, j'ai rajouté le parametre -lgdi32 pour le linker dans les options du projet, mais j'ai des erreurs de compilations:  
 
534 GdiplusEnums.h use of enum `EmfPlusRecordType' without previous declaration  
548 GdiplusEnums.h invalid use of undefined type `enum Gdiplus::EmfPlusRecordType'  
543 GdiplusEnums.h forward declaration of `enum Gdiplus::EmfPlusRecordType'  
548 GdiplusEnums.h enumerator value for `WmfRecordTypeSetBkColor' not integer constant  
etc...
 
Savez vous regler ces problemes ?
 
Merci beaucoup.

Reply

Marsh Posté le 23-10-2005 à 16:48:57   

Reply

Marsh Posté le 23-10-2005 à 17:45:52    

C'est bien d'avoir ajouté la bibliothèque pour l'édition des liens, mais les messages d'erreur concernent la compilation (qui est l'étape qui précède l'édition des liens). Apparement, il manque un ou plusieurs #include "xxxxxxxxx.h".

Reply

Marsh Posté le 23-10-2005 à 17:52:57    

Je ne vois pas quel include il manquerait vu que je fais l'include de gdiplus.h qui inclu tous les autres aprés...

Reply

Marsh Posté le 23-10-2005 à 18:19:38    

Personnellement, je n'utilise pas gdiplus, (uniquement le vieux gdi), et j'ai donc dis un bêtise.
Une recherche avec google donne des exemples d'auters personnes ayant eu le même problème, par exemple : http://public.kitware.com/pipermai [...] 00482.html et http://www.gamedev.net/community/f [...] _id=225589 .
C'est à la fin de cette dernière page, que la solution est donnée :

Citation :

All you have to do is take out the forward declaration of the enums in the gdi+ headers and, preferably, get it to compile.

Il s'avère que dans l'un des fichiers d'include, il y a une ligne "enum EmfPlusRecordType;" mais "EmfPlusRecordType" n'est défini qu'un peu plus loin.
 

Reply

Marsh Posté le 23-10-2005 à 18:41:01    

Oui, mais si je retire la ligne "enum EmfPlusRecordType;" j'ai une autre erreur:  
 
GdiplusEnums.h invalid use of undefined type `enum Gdiplus::EmfPlusRecordType'

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed