erreur de link avec API GetStockObject [Dev-Cpp] - C++ - Programmation
Marsh Posté le 14-05-2005 à 22:05:37
vérifie que tu lies ton projet avec la lib Gdi32.lib
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 !?!
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
Marsh Posté le 14-05-2005 à 22:37:33
non !
dans le Platform SDK je t'ai dit
suis le lien que je t'ai donné bon dieu
Marsh Posté le 14-05-2005 à 22:42:44
désolé, il faut downloader tous les fichiers un par un ?
puis lancer l'exe ?
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
Marsh Posté le 14-05-2005 à 22:44:14
Sinon, y a ça aussi qui est pas mal:
http://www.borland.com/delphi/
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 !
Marsh Posté le 15-05-2005 à 00:00:26
bon c'est quoi comme erreur que tu as ?
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
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...
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) ;
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".
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.
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 ?
Marsh Posté le 15-05-2005 à 10:59:21
incapacitant a écrit : zut, il reste encore des erreurs : |
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.
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...
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 !
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 (cest pas gagné si tu sais pas ce que tu fais).
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
Marsh Posté le 15-05-2005 à 11:51:43
Regarde ici :
http://ebooks.servegame.com/ebochm [...] /ch11c.htm
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.
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.
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.
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é.
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 :
|
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????
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