Timer.obj : error LNK2001: unresolved external symbol blablabla [VC++] - C++ - Programmation
Marsh Posté le 08-05-2002 à 13:11:38
timeGetTime fait partie de la librairie winmm.lib. Tu dois donc lier ton projet avec cette librairie
Menu Project -> Settings, onglet Link, dans le champ "Object/library modules" tu rajoutes "winmm.lib".
Et au passage, n'oublie pas d'inclure le fichier d'entête correspondant (#include Mmsystem.h)
A+
Marsh Posté le 08-05-2002 à 13:34:16
Citation : |
Voici la manière correcte d'utiliser le MSDN pour ce genre d'erreur. Certains disent que le MSDN est un vaste foutoir, mais il suffit juste de savoir comment chercher.
Ton message d'erreur est le suivant :
Citation : |
En gras, tu as la fonction incriminée. Tu enlèves le __imp__ du début et le @0 à la fin et tu obtiens la fonction timeGetTime.
Ensuite, tu consultes le MSDN pour cette fonction, et tu regardes la section Requirements. Tu obtiens ceci :
Citation : |
La ligne Header t'indique le fichier d'entête contenant la signature de timeGetTime, ici Mmsystem.h, à inclure comme je te l'ai indiqué.
La ligne Library t'indique la lib à laquelle tu dois lier ton projet pour utiliser cette fonction, ici Winmm.lib, à inclure comme je te l'ai indiqué.
En espérant que ce topic puisse servir à tous ceux qui ont des LNK2001, car il n'y a pas d'erreur plus simple à résoudre.
[jfdsdjhfuetppo]--Message édité par Harkonnen le 08-05-2002 à 13:41:46--[/jfdsdjhfuetppo]
Marsh Posté le 08-05-2002 à 18:28:23
un grand merci à toi
(là je peux po essayer tout de suite mais je ne vois pas pkoi ca ne marcherais po )
Le seul truc d'etrange c'est que ds le prog du livre le mec n'inclu po "Mmsystem.h"... enfin c'est p'etre un oubli...
Et puis j'aurais appris à me servir efficacement d'msdn aussi
Marsh Posté le 08-05-2002 à 22:55:31
A ton service
Marsh Posté le 09-05-2002 à 02:08:49
je viens de tester et c'etais bien ca
Il m'a suffit de rajouter la librairie et now ca marche sans problèmes...
(j'ai meme po eut besoin d'inclure Mmsystem.h, surement à cause du windows.h... )
encore merci
Marsh Posté le 08-05-2002 à 02:05:21
J'ai un chtit problème de linkage apparemment et meme avec msdn j'arrive po à le resoudre...
J'obtiens cette erreur :
Timer.obj : error LNK2001: unresolved external symbol __imp__timeGetTime@0
J'ai trouvé ca ds MSDN mais bon, moi ca m'inspire po vraiment...
When compiling with /MD, a reference to "func" in your source becomes a reference "__imp__func" in the object since all the run-time is now held within a DLL. If you try to link with the static libraries LIBC.LIB or LIBCMT.LIB, you will get LNK2001 on __imp__func. If you try to link with MSVCxx.LIB when compiling without /MD you will not always get LNK2001, but you will likely have other problems.
Et je note que ce n'est pas le code en lui meme qui est fautif car apparemment il doit marcher sur un autre pc...
(c'est exexemple d'un bouquin que j'ai fait, et la "solution" du bouquin rencontre exactement le meme problème )
Help