[Dev-Cpp] erreur de link avec API GetStockObject

erreur de link avec API GetStockObject [Dev-Cpp] - C++ - Programmation

Marsh Posté le 14-05-2005 à 22:02:07    

Bonjour,
 
Quand je compile dans Dev-Cpp, certaines API comme GetStockObject font une erreur au link.
Et aucune erreur à la compilation.
 
Quelqu'un connait ?
 
Merci

Reply

Marsh Posté le 14-05-2005 à 22:02:07   

Reply

Marsh Posté le 14-05-2005 à 22:05:37    

vérifie que tu lies ton projet avec la lib Gdi32.lib


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 14-05-2005 à 22:12:31    

je n'ai pas de fichier avec ce nom sur mon pc !
(et google ne dit rien de terrible)
mais j'ai un gdi32.dll, à lier avec Dev-Cpp !?!

Reply

Marsh Posté le 14-05-2005 à 22:19:02    

il faut télécharger le platform SDK chez Microsoft
http://www.microsoft.com/downloads [...] layLang=en


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 14-05-2005 à 22:36:19    

C'est dans ce package ".NET Framework SDK Version 1.1" ?

Reply

Marsh Posté le 14-05-2005 à 22:37:33    

non !
dans le Platform SDK je t'ai dit :o
suis le lien que je t'ai donné bon dieu :o


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 14-05-2005 à 22:42:44    

désolé, il faut downloader tous les fichiers un par un ?
puis lancer l'exe ?

Reply

Marsh Posté le 14-05-2005 à 22:43:59    

oui
sinon tu peux aussi télécharger une image iso, ou faire une web install


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 14-05-2005 à 22:44:14    

Sinon, y a ça aussi qui est pas mal:
    http://www.borland.com/delphi/

Reply

Marsh Posté le 14-05-2005 à 22:45:28    

ok, super, merci

Reply

Marsh Posté le 14-05-2005 à 22:45:28   

Reply

Marsh Posté le 14-05-2005 à 23:56:46    

j'ai installé le sdk et ajouté le repertoire qui contient gdi32.lib dans la configuration du compilateur dans dev-cpp.
mais j'ai toujours les mêmes erreurs !

Reply

Marsh Posté le 15-05-2005 à 00:00:26    

bon c'est quoi comme erreur que tu as ?


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 15-05-2005 à 00:07:46    

Les libs d'import de microsoft ou borland ne sont pas compatible avec ming.
 
Installe le package "Windows32 API version 3.2" en allant dans "outil->nouvelle version/package" ou directement ici :
http://sourceforge.net/project/sho [...] _id=295386
 
et ensuite rajoute -lgdi32 lors du linkage

Reply

Marsh Posté le 15-05-2005 à 08:31:32    

j'ai installé le package (qui y était déjà) pour être sur.
cela n'installe pas de .lib
je n'ai pas de gdi32.lib dans le répertoire devcpp
j'ai des erreurs comme :
  [Linker error] undefined reference to `GetStockObject@4'  
  [Linker error] undefined reference to `GetTextMetricsA@8'  
etc...

Reply

Marsh Posté le 15-05-2005 à 08:49:24    

Mais certains appels compilent :
 hdc = BeginPaint (hwnd, &ps) ;
 GetClientRect (hwnd, &rect) ;
 DrawText (hdc, TEXT ("Hello, Windows 98!" ), -1, &rect,
                DT_SINGLELINE | DT_CENTER | DT_VCENTER) ;
 EndPaint (hwnd, &ps) ;

Reply

Marsh Posté le 15-05-2005 à 09:51:27    

C'est libgdi32.a et non gdi32.lib sous ming, t'as rajouté -lgdi32 dans "Projet->Options du projet" onglet "Paramètre" sous "Editeur de liens".

Reply

Marsh Posté le 15-05-2005 à 10:39:52    

merci beaucoup à tous. la réponse est bien d'installer le package puis d'ajouter la librairie libgdl32.a au linkage.

Reply

Marsh Posté le 15-05-2005 à 10:53:27    

zut, il reste encore des erreurs :
  [Linker error] undefined reference to `PlaySoundA@12'  
 
peux t-on ajouter la librarie une fois pour toutes, plutôt qu'à chaque création de projet ?

Reply

Marsh Posté le 15-05-2005 à 10:59:21    

incapacitant a écrit :

zut, il reste encore des erreurs :
  [Linker error] undefined reference to `PlaySoundA@12'  


libwinmm.a
 

incapacitant a écrit :

peux t-on ajouter la librarie une fois pour toutes, plutôt qu'à chaque création de projet ?


Oui, "Outils->Options du Compilateur" onglet "Compilateur" sous Ajouter ces commandes lors de l'appel à l'éditeur de liens.
Mais tu risques de charger des libs pour rien dans d'autres projets.

Reply

Marsh Posté le 15-05-2005 à 11:12:22    

il y a plein d'autres erreurs :
  [Linker error] undefined reference to `PopFileInitialize(HWND__*)'  
  [Linker error] undefined reference to `PopFontInitialize(HWND__*)'  
  [Linker error] undefined reference to `PopFileOpenDlg(HWND__*, char*, char*)'  
  [Linker error] undefined reference to `PopFileRead(HWND__*, char*)'  
  [Linker error] undefined reference to `PopFileWrite(HWND__*, char*)'  
etc...  
toutes Pop...

Reply

Marsh Posté le 15-05-2005 à 11:29:06    

faudrait voir à chercher un peu hein ! et à apprendre à programmer au lieu de recopier bêtement des lignes sans savoir ce qu'elles signifient !
tes fonctions PopMachin font partie d'une librairie, que tu dois lier à ton projet, c'est toujours le même principe. donc tu cherches la librairie, et tu la lies !


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 15-05-2005 à 11:42:13    

Je crois que ces fonctions sont à définir par le programmeur donc :
- soit tu as le fichier où elles sont définies et tu le rajoutes dans ton projet.
- soit tu les définis (c’est pas gagné si tu sais pas ce que tu fais).

Reply

Marsh Posté le 15-05-2005 à 11:46:00    

ok, mais comment on trouve la librairie qui manque ?
c'est des exemples de code que j'essaie de compiler pour apprendre

Reply

Marsh Posté le 15-05-2005 à 11:51:43    

Reply

Marsh Posté le 15-05-2005 à 11:59:20    

c'est le livre que j'utilise.
j'ai ajouté libcomdlg32.a mais ca change rien.

Reply

Marsh Posté le 15-05-2005 à 12:00:43    

Tu n'as pas de fichiers POP*.C ?

Reply

Marsh Posté le 15-05-2005 à 12:02:49    

non

Reply

Marsh Posté le 15-05-2005 à 12:12:28    

Ben essaye de reprendre ceux sur le lien ci-dessus.

Reply

Marsh Posté le 15-05-2005 à 12:16:24    

j'en ai en fait des fichiers pop*.c, c'est les fichiers source que j'essaie de compiler (cad idem que sur le lien ci-dessus).
le lien me donne ce que j'ai dans le livre.

Reply

Marsh Posté le 15-05-2005 à 13:30:17    

Tu les as bien tous mis dans le même projet ?

Reply

Marsh Posté le 15-05-2005 à 15:12:16    

oui, le livre est livré avec un cd. certains sources compilent  
apres avoir ajoute libgdi32.a, d'autres toujors pas.

Reply

Marsh Posté le 15-05-2005 à 15:22:10    

j'ai trouvé le source des fonctions pop, mais ca ne compile toujours pas. faut que je cherche. merci de m'avoir aidé.

Reply

Marsh Posté le 01-06-2005 à 10:49:11    

salut!
Je suis vraiment désolé de m'incrister comme ca dans la discussion mais j'ai à peu près le même type de problèmes.
 
En fait, je voudrais me connecter à une base sql par dev_c++.
j'ai fait mon code et il n'y a pas d'erreur mais par contre il me trouve des problème au niveau linker :  

Code :
  1. undefined reference to `SQLAllocHandle@12


J'ai créer un projet et j'y ait incorporé mon code et toutes les librairies mais ya toujours le problème.
Comment faire????

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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