Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1385 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Utiliser le compilo de Visual C++ Toolkit avec Dev-C++ ? (pbm MinGW)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Utiliser le compilo de Visual C++ Toolkit avec Dev-C++ ? (pbm MinGW)

n°796276
Jesus Army
Allez voir là bas si j'y suis
Posté le 15-07-2004 à 12:46:19  profilanswer
 

:hello:
 
J'utilise Dev-C++ comme IDE, (c'est gratuit et je l'aime bien pour la rédaction du code) mais j'ai quelques problèmes avec MinGW, son compilo par defaut.
 
En effet, j'ai un problème avec une fonction (TransparentBlt()) nécessitant la librairie microsoft MSImg32.lib. Celle-ci est pourtant deja convertie dans le pack de mingw32 et présente le nom de libmsimg32.a. Pourtant, MinGW n'arrive pas à compiler mon programme car il me sort que je ne declare pas la fonction TransparentBlt()... :/
 
J'ai essayé de reconvertir la librairie avec l'utilitaire reimp.exe mais ca ne marche toujours pas... :/ J'ai aussi essayé quelques autres methodes trouvées sur Google, mais sans succès... :(
 
J'ai donc décidé d'abandonner la conversion de librairie, pour essayer d'utiliser le compilateur de Visual Studio fourni gratuitement par Microsoft au sein de son "Visual C++ Toolkit 2003"... Mais je n'arrive pas à l'integrer à Dev-C++ non plus, et je ne trouve rien pour m'aider sur google... :(
 
Ca fait plusieurs jours que je perds du temps avec ce problème, et je desespère un peu, alors je me suis décidé à poster, au cas où quelqu'un arriverai à me faire une librairie msimg32.a correcte ou à m'aider à configurer le compilo cl.exe de Microsoft pour l'utiliser avec Dev-C++.
 
Je prends du retard sur mon planning de developpement pour un truc bete, et si je trouve pas avant la fin de la semaine ca ne va pas le faire...:/
 
Help, et mercÿte d'avance. :jap:

mood
Publicité
Posté le 15-07-2004 à 12:46:19  profilanswer
 

n°796398
Enidan
Posté le 15-07-2004 à 14:51:17  profilanswer
 

Pour changer de compilateur, essaie de passer par Outils/Options du compilateur, onglet Programmes.
 
Sinon, ton pb de lib est bizarre car il me semble que mingw accepte les .lib et les .a
De +, si le .a était fourni avec mingw, ça devrait marcher.
 
Pour linker avec un .a, 2 méthodes :
- soit fournir le chemin complet du .a dans Projet/Options du projet, onglet Paramètres, zone Editeur de liens
- soit fournir une option "-lxx" dans la zone ci-dessus + ajouter le chemin du répertoire dans Projet/Options du projet, onglet Répertoires, zone Répertoire Bibliothèques. le "xxx" est extrait du nom de ton .a, qui s'appelle libxxx.a. Dans ton cas ça donne "-lmsimg32".
 
Pour linker avec un .lib, seule la 1ere méthode a l'air de marcher.
 
A+


Message édité par Enidan le 15-07-2004 à 14:51:56
n°796470
Jesus Army
Allez voir là bas si j'y suis
Posté le 15-07-2004 à 15:36:57  profilanswer
 

Merci pour la réponse précise. :jap:
 
J'ai essayé de faire comme indiqué dans ton premier point en indiquand la librairie .a du rep lib de MinGW et ca n'a pas marché. J'ai alors essayé de linquer directement la librairie .lib du SDK de microsoft avec la meme méthode, sans succès non plus.
 
J'ai ensuite fait comme indiqué dans ton second point, en mettant -lmsimg32 dans les options du compilo ainsi qu'en ajoutant le repertoire de la librairie (la .a ou la .lib ou les deux sans succès) et ca n'a pas marché non plus. :(
 
Malgré tout ca je continu à me prendre ca de la part de MinGW : :(

Citation :

226 C:\"chemin"\Bitmap.cpp
`TransparentBlt' undeclared (first use this function)


Message édité par Jesus Army le 15-07-2004 à 15:37:17
n°796474
chrisbk
-
Posté le 15-07-2004 à 15:38:35  profilanswer
 

ca a lpus une tronche d'erreur de compilation que de link, t sur de tes include ?

n°796495
Jesus Army
Allez voir là bas si j'y suis
Posté le 15-07-2004 à 15:46:39  profilanswer
 

Ca me fait aussi l'erreur sur un programme exemple d'un bouquin utilisant cette meme fonction... :/

n°796514
HelloWorld
Salut tout le monde!
Posté le 15-07-2004 à 15:54:17  profilanswer
 

chrisbk a écrit :

ca a lpus une tronche d'erreur de compilation que de link, t sur de tes include ?


+1
C'est pas ton lib qui a un problème, mais ton .h
TransparentBlt n'est pas déclaré.
 
wingdi.h

Code :
  1. WINGDIAPI BOOL  WINAPI TransparentBlt(IN HDC,IN int,IN int,IN int,IN int,IN HDC,IN int,IN int,IN int,IN int,IN UINT);


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°796555
Jesus Army
Allez voir là bas si j'y suis
Posté le 15-07-2004 à 16:03:31  profilanswer
 

Ah bah vi c'est bizarre ca que dans le doc source du bouquin il n'y ait pas d'include de wingdi.h puisque la fonction devrait en faire reference... Je vais essayer de le rajouter à  mon ptit projet... :)
 
Beh ca ne change rien, meme erreur. :(

n°796574
HelloWorld
Salut tout le monde!
Posté le 15-07-2004 à 16:06:54  profilanswer
 

Ben ouvre wingdi.h et regarde si TransparentBlt y est...
et windows.h inclu wingdi.h


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°796610
Jesus Army
Allez voir là bas si j'y suis
Posté le 15-07-2004 à 16:25:06  profilanswer
 

Effectivement j'etais à coté de la plaque, c'etait mon wingdi.h qui avait juste le proto de la fonction... :(
 
Merci de m'avoir ouvert les yeux... :jap: :jap:
 
Bon maintenant que je cerne mieux l'erreur, next one. :D FillRect() n'a aussi que son proto dans le winuser.h de la dernière version du SDK de microsoft... :( http://msdn.microsoft.com/library/ [...] p_6i0k.asp
 

n°796670
HelloWorld
Salut tout le monde!
Posté le 15-07-2004 à 16:30:32  profilanswer
 

Jesus Army a écrit :

Effectivement j'etais à coté de la plaque, c'etait mon wingdi.h qui avait juste le proto de la fonction... :(


Ce qui est tout à fait normal vu que la fonction est dans msimg32.dll.
Idem pour FillRect et toutes les autres.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
mood
Publicité
Posté le 15-07-2004 à 16:30:32  profilanswer
 

n°796694
Jesus Army
Allez voir là bas si j'y suis
Posté le 15-07-2004 à 16:38:24  profilanswer
 

euh vi effectivment... :ange: Mais en fait il y avait juste la ligne que tu as cité et ca lui suffisait pas... :/
 
Par contre dans le wingdi de la dernière version du sdk il n'y a plus fillrect, bon :(, bon vais essayer de faire un mix... :ange: :/

n°796698
HelloWorld
Salut tout le monde!
Posté le 15-07-2004 à 16:41:22  profilanswer
 

Ah ben si y'avait la ligne y'a un problème alors.
Pour FillRect, c'est dans winuser.h
C'est super louche ton truc, ton install m'a l'air fouareuse.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°796713
Jesus Army
Allez voir là bas si j'y suis
Posté le 15-07-2004 à 16:51:43  profilanswer
 

Bah c'est l'installe de la dernière version de Dev-Cpp.
 
Et il y avait bien la ligne

Citation :

BOOL WINAPI TransparentBlt(HDC,int,int,int,int,HDC,int,int,int,int,UINT);

en fait, sans WINGDIAPI...
 
Par contre pour FillRect, il n'y est pas dans le winuser.h de MinGW mais il etait dans le wingdi.h que j'ai remplacé par celui du sdk de crosoft qui marche bien pour TransparentBlt(). Mais par contre j'ai mis le winuser.h du sdk de crosoft et dev-cpp n'a pas l'air de l'apprecier... :(
 

C:/Program Files/Dev-Cpp/include/winuser.h:7875: parse error before `(' token
C:/Program Files/Dev-Cpp/include/winuser.h:7881: parse error before `(' token
C:/Program Files/Dev-Cpp/include/winuser.h:7922: redefinition of `int HHOOK'
C:/Program Files/Dev-Cpp/include/winuser.h:7881: `int HHOOK' previously  
   declared here
C:/Program Files/Dev-Cpp/include/winuser.h:7922: parse error before `(' token
C:/Program Files/Dev-Cpp/include/winuser.h:7930: parse error before `(' token
C:/Program Files/Dev-Cpp/include/winuser.h:7945: `HHOOK' was not declared in  
   this scope
C:/Program Files/Dev-Cpp/include/winuser.h:7945: parse error before `)' token
C:/Program Files/Dev-Cpp/include/winuser.h:7951: `HHOOK' was not declared in  
   this scope
C:/Program Files/Dev-Cpp/include/winuser.h:7951: parse error before `,' token


Jvais pitètre plutot mettre FillRect dans le wingdi.h comme il etait dans celui fournis avec MinGW...


Message édité par Jesus Army le 15-07-2004 à 16:52:32
n°796740
Jesus Army
Allez voir là bas si j'y suis
Posté le 15-07-2004 à 17:04:31  profilanswer
 

En fait en indiquant le repertoire d'includes du SDK de microsoft , MinGW ne l'aime pas du tout et n'arrive rien à compiler... :/

n°797439
Jesus Army
Allez voir là bas si j'y suis
Posté le 16-07-2004 à 11:26:19  profilanswer
 

Bon beh j'ai pu ces problèmes, mais finalement maintenant je peux recoller au sujet initial... (:'()
 

Citation :

[Linker error] undefined reference to `_imp__TransparentBlt@44'


 
Merci Enidan, cette fois ci le problème étant bien le link il fallait linker comme tu me l'avais indiqué. :jap:


Message édité par Jesus Army le 16-07-2004 à 11:30:52
n°797838
Enidan
Posté le 16-07-2004 à 15:51:06  profilanswer
 

De rien  :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Utiliser le compilo de Visual C++ Toolkit avec Dev-C++ ? (pbm MinGW)

 

Sujets relatifs
[Java]Utiliser des ressources d'un jar à partir d'un autre jarDev-C++ Ajouter la libraire *.lib au projet ? (Et utiliser compilo MS)
[Flash]utiliser des combobox et des radiobutton[C++] Bug en release et pas en debug (Visual C++)
Lien Visual Basic et C++Quel programme utiliser pour faire du c/c++/c# ?
HTML, XHTML : lequel utiliser ?[borland c++ buider] Utiliser une DLL.........
Plus de sujets relatifs à : Utiliser le compilo de Visual C++ Toolkit avec Dev-C++ ? (pbm MinGW)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR