[VC++]Timer.obj : error LNK2001: unresolved external symbol blablabla

Timer.obj : error LNK2001: unresolved external symbol blablabla [VC++] - C++ - Programmation

Marsh Posté le 08-05-2002 à 02:05:21    

:hello:
 
J'ai un chtit problème de linkage apparemment et meme avec msdn j'arrive po à le resoudre... :(
 
J'obtiens cette erreur :

Citation :

Timer.obj : error LNK2001: unresolved external symbol __imp__timeGetTime@0


 
J'ai trouvé ca ds MSDN mais bon, moi ca m'inspire po vraiment...

Citation :

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 :sweat:

Reply

Marsh Posté le 08-05-2002 à 02:05:21   

Reply

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+  :hello:


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

Marsh Posté le 08-05-2002 à 13:34:16    

Citation :


J'ai trouvé ca ds MSDN mais bon, moi ca m'inspire po vraiment...


 
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 :


Timer.obj : error LNK2001: unresolved external symbol __imp__timeGetTime@0


 
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 :


Requirements  
  Windows NT/2000: Requires Windows NT 3.1 or later.
  Windows 95/98: Requires Windows 95 or later.
  Header: Declared in Mmsystem.h.
  Library: Use Winmm.lib.


 
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]


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

Marsh Posté le 08-05-2002 à 18:28:23    

:hello:
 
un grand merci à toi :jap:
 
(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 :jap:

Reply

Marsh Posté le 08-05-2002 à 22:55:31    

A ton service
 
 :hello:


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

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 :jap:
 
:hello:

Reply

Sujets relatifs:

Leave a Replay

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