PB de link Visual C++

biscot19 Messages postés 31 Date d'inscription lundi 27 mai 2002 Statut Membre Dernière intervention 24 novembre 2004 - 18 nov. 2004 à 15:07
biscot19 Messages postés 31 Date d'inscription lundi 27 mai 2002 Statut Membre Dernière intervention 24 novembre 2004 - 19 nov. 2004 à 10:57
Bonjour
j'ai deux erreurs de LINK qui sont :
DLLArmony.obj : error LNK2001: unresolved external symbol "void __stdcall DebugInit(char *)" (?DebugInit@@YGXPAD@Z)

DLLArmony.obj : error LNK2001: unresolved external symbol "void __cdecl debug(char *,...)" (?debug@@YAXPADZZ)

je dois utiliser le debug.h mais des que je rajoute l'include ça me met ces deux erreurs

je suis en Visual C++ 6.0

18 réponses

ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
18 nov. 2004 à 16:23
Il doit manquer un .lib à ajouter au linker (project settings, onglet link, catégorie général, case "object/libary module). le fichier debug.h doit être associé à une lib à rajouter là.
0
biscot19 Messages postés 31 Date d'inscription lundi 27 mai 2002 Statut Membre Dernière intervention 24 novembre 2004
18 nov. 2004 à 16:30
comment je sais kel lib rajouter
0
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
18 nov. 2004 à 16:32
Je sais pas, d'ou il vient ton debug.h ?
0
biscot19 Messages postés 31 Date d'inscription lundi 27 mai 2002 Statut Membre Dernière intervention 24 novembre 2004
18 nov. 2004 à 16:36
bah il est dans le package qui est avec Visual C++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
18 nov. 2004 à 16:46
t'es sur qu'il vient pas d'une lib externe que tu as ajouté parsque msdn ne connait pas DebugInit et je n'ai pas "debug.h" (sous VC++ 6.0)

sinon quel est le genre du programme.
0
biscot19 Messages postés 31 Date d'inscription lundi 27 mai 2002 Statut Membre Dernière intervention 24 novembre 2004
18 nov. 2004 à 16:55
voila le code de la fonction debug
//
//	ANY new programs should be using the wwDbg.h
//	********************************************
//
//	This is an obsolete include file and is provided only for
//	"backward compatibility"
//
//
#ifndef H__debug
#define H__debug

#include <sys\timeb.h>
typedef struct timeb  TIMESTAMP;
#define WWDBG_MESSAGE	27
#define WWDBG_ID	28
#define WWDBG_ALARM_MSG	29

VOID	FAR PASCAL DebugSetHWnd( HWND );
VOID 	far cdecl  debug( LPSTR, ... );
VOID 	FAR debugAlarm( LPSTR, TIMESTAMP * );
VOID	FAR PASCAL DebugInit( LPSTR );
long 	FAR PASCAL DebugDefWindowProc( HWND, UINT, WPARAM, LPARAM );
BOOL	FAR PASCAL DebugProcessMessage( HWND, UINT, WPARAM, LPARAM );
VOID	FAR PASCAL DebugStartLoggerCheck( LPSTR );
VOID	FAR PASCAL DebugStartLoggerClientCheck( WORD wShowWindow );
HWND	FAR PASCAL GetHWndLogger( void );

#endif

0
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
18 nov. 2004 à 17:02
Apparement il s'agit d'un entête obsolète. Ce que tu peu faire pour savoir quel .lib ajouter c'est de faire une recherche dans l'explorateur windows dans le répertoire lib de VC de tous les fichiers contenant le texte DebugInit. Avec un peu de chance tu le trouvera peut-être.

Comment as-tu eu l'idée d'utiliser cet header ?
0
biscot19 Messages postés 31 Date d'inscription lundi 27 mai 2002 Statut Membre Dernière intervention 24 novembre 2004
18 nov. 2004 à 17:08
j'ai pris le code d'un collegue

mais c'est bon j'ai trouvé
0
biscot19 Messages postés 31 Date d'inscription lundi 27 mai 2002 Statut Membre Dernière intervention 24 novembre 2004
19 nov. 2004 à 09:39
en fait je n'ai pas trouvé
j'ai une lib qui va avec mais quand je la rajout dans les settings ça ne change rien
0
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
19 nov. 2004 à 09:48
le .lib est-il bien situé dans le répertoire lib de VC ou son path est-il bien spécifié dans les path lib de visual (tools->options->directories, showdirectories for library)
0
biscot19 Messages postés 31 Date d'inscription lundi 27 mai 2002 Statut Membre Dernière intervention 24 novembre 2004
19 nov. 2004 à 09:50
bah la lib est dans le repertoire de mon projet
0
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
19 nov. 2004 à 09:52
donc a priori le path relatif au .dsp devrait suffir.

tu peut auusi tenter la directive #pragma
#pragma comment(linker, "relpath\nom.lib");
0
biscot19 Messages postés 31 Date d'inscription lundi 27 mai 2002 Statut Membre Dernière intervention 24 novembre 2004
19 nov. 2004 à 09:55
j'ai rajouté

#pragma comment(linker, "relpath\wwDbg.lib");

et j'obtiens

:\ScriptFonction\DLLArmony\DLLArmony\DLLArmony.cpp(26) : warning C4129: 'w' : unrecognized character escape sequence

C:\ScriptFonction\DLLArmony\DLLArmony\DLLArmony.cpp(26) : warning C4081: expected 'newline'; found ';'
Linking...

Creating library Debug/DLLArmony.lib and object Debug/DLLArmony.exp

DLLArmony.obj : error LNK2001: unresolved external symbol "void __stdcall DebugInit(char *)" (?DebugInit@@YGXPAD@Z)
D
LLArmony.obj : error LNK2001: unresolved external symbol "void __cdecl debug(char *,...)" (?debug@@YAXPADZZ)
Debug/DLLArmony.dll : fatal error LNK1120: 2 unresolved externals
Error executing link.exe.

DLLArmony.dll - 3 error(s), 2 warning(s)
0
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
19 nov. 2004 à 10:14
erreurs de ma part.

le point virgule n'est pas à mettrela chaîne est une chaîne C => on double les \\ ou on met / pour les paths.

#pragma comment(linker, "relpath/wwDbg.lib")
0
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
19 nov. 2004 à 10:15
Au fait relpath est à remplacer par le chemin relatif de la lib par rapport au fichier .dsp de ton projet
0
biscot19 Messages postés 31 Date d'inscription lundi 27 mai 2002 Statut Membre Dernière intervention 24 novembre 2004
19 nov. 2004 à 10:19
donc j'ai fais

#pragma comment(linker, "wwDbg.lib")

et j'ai tjs mes deux erreurs de LINK
0
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
19 nov. 2004 à 10:22
A mon avis il faut utiliser l'entête "wwDbg.h" au lieu de "debug.h" comme dit dans l'entête de "debug.h". Il se peut que les fct que tu utilise soient vraiment très obsolètes et pas incluses dans la nouvelle lib.
0
biscot19 Messages postés 31 Date d'inscription lundi 27 mai 2002 Statut Membre Dernière intervention 24 novembre 2004
19 nov. 2004 à 10:57
bah oui mais en faites c'est juste un copier coller d'un bout de code et ça fonctionne dans l'autre programme
0
Rejoignez-nous