Bonsoir,
J'ai modifié le main() d'un projet en ajoutant une nouvelle fonction,
A la compilation j'ai cette erreur:
"error lnk2019 unresolved external symbol <fonction>..."
D'où cela peut provenir?
Bonsoir,
J'ai modifié le main() d'un projet en ajoutant une nouvelle fonction,
A la compilation j'ai cette erreur:
"error lnk2019 unresolved external symbol <fonction>..."
D'où cela peut provenir?
Bonjour,
Difficile à dire sans code mais il te manque probablement une bibliothèque (*.lib) à passer au linker (éditeur de liens).
Linker Tools Error LNK2019:
http://msdn.microsoft.com/en-us/libr...VS.100%29.aspx
Aurais-tu un bout de code minimum qui reproduise ton problème ?
Cela va etre difficile pour moi de donner un bout de code
J'ai juste modifier un fichier, pourquoi devrait manquer une bibliothère?
L'erreur complète est la suivante:
Linking executable.exe...
toto.lib(main.obj) : error LNK2019: unresolved external symbol function2 ref
erenced in function main1
Code avant la modification:
code après la modification:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 #if TOTO_LIB void Main1 (void) #else #if _include_DEBUG == ON void main2(int argc, char *argv[]) #else void main3(void) #endif #endif { #if _include_DEBUG == ON function1(argc, argv); #endif
l'erreur se produit sur "function2"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 #if TOTO_LIB void Main1 (void) #else #if _include_DEBUG == ON void main2(int argc, char *argv[]) #else void main3(void) #endif #endif { #if _include_DEBUG == ON function1(argc, argv); #else function2(); #endif
Dans ce cas, il n'y a rien de mystérieux. Une fonction nommée « fonction1 » existe bel et bien quelque part dans ton code, mais il n'y a pas de « fonction2 ».
Le compilateur accepte de compiler le programme quand même en laissant « en blanc » les appels manquants, en supposant que cette fonction se trouve dans une bibliothèque externe, et laisse le soin au linker de combler ces trous lorsqu'il assemblera tous les éléments ensemble. À ce stade, le linker ne trouve aucune fonction nommée « fonction2 » dans les différentes bibliothèques et ne peut donc finaliser l'exécutable.
À moins, bien sûr, que « fonction1 » et « fonction2 » soient des noms que tu aies inventé pour éviter de révéler les vrais appels sur le forum, auquel cas ça risque d'être dur de t'aider.
Au fait le fichier où se trouve définit la function2, et même la function1 n'est pas compilé...
Avant la modification, comme _include_DEBUG était toujours différent de ON, je ne rentrai pas dans la fonction1, donc pas de compilation du fichier en question et donc pas de problème de link.
Le problème vient de là à mon avis
Partager