C++ error LNK2001: unresolved external symbol
mira
-
Titi -
Titi -
bonjour tout le monde !
mon programme VisualC++ compile tres bien, mais j'arrive pas à faire le BUILD de l'exe.
il me donne :
DLLExplicit1.obj : error LNK2001: unresolved external symbol _mlfMira
Debug/DLLExplicit1.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
est ce qu'il y a quelqu'un qui pourra m'aider ????
MERCI
mon programme VisualC++ compile tres bien, mais j'arrive pas à faire le BUILD de l'exe.
il me donne :
DLLExplicit1.obj : error LNK2001: unresolved external symbol _mlfMira
Debug/DLLExplicit1.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
est ce qu'il y a quelqu'un qui pourra m'aider ????
MERCI
A voir également:
- Unresolved external symbol c++ lnk2001
- Symbol clavier - Guide
- External optical drive cb31005 driver download - Forum Pilotes (drivers)
- Slash symbol clavier ✓ - Forum MacOS
- Pop up mobile external - Forum Lecteurs et supports vidéo
- Comment obtenir un slash inversé ? ✓ - Forum Clavier
10 réponses
Juste histoire de donner une info supplémentaire à ceux qui rencontreraient cette erreur, comme cela a été mon cas:
vérifiez vos déclarations de fonction.
Je m'explique: j'ai déclaré en tête de programme un prototype sous la forme "void fonction(int, vector<int>, ...)"
et lorsque j'ai voulu écrire à proprement parler la fonction, j'ai écrit: "void fonction(int &i, vector<int> vec, ...)"
La seule différence du & pour faire référence à la variable a suffit pour tout faire planter et le compilateur a été incapable de me le dire!
vérifiez vos déclarations de fonction.
Je m'explique: j'ai déclaré en tête de programme un prototype sous la forme "void fonction(int, vector<int>, ...)"
et lorsque j'ai voulu écrire à proprement parler la fonction, j'ai écrit: "void fonction(int &i, vector<int> vec, ...)"
La seule différence du & pour faire référence à la variable a suffit pour tout faire planter et le compilateur a été incapable de me le dire!
Ben enfait ce message s'affiche quand le compilo n'arrive pas a faire le lien entre les différents modules de ton programme.
Regarde si tu a bien les bon .h et tout ce qui s'ensuit
@+ Mr Jo
Regarde si tu a bien les bon .h et tout ce qui s'ensuit
@+ Mr Jo
si tu as fait des fonctions inline mets les dans un .h et non un .cpp et n'oublie pas de les redéclarer hors de la classe
pom
pom
Salut,
En faite il semblerai que ce soit une erreur qui est levé quand le compilo est dans les choux....
Pour en savoir un peu plus sur l'erreur il faut déjà voir si dans les "settings" l'option "Microsoft Fondation Classes" est à "Use MFC in a shared DLL" ...
Après le choix de cette option le compilo a réussit à identidier le problème....(dans mon cas....)
Si cela peut aider...
En faite il semblerai que ce soit une erreur qui est levé quand le compilo est dans les choux....
Pour en savoir un peu plus sur l'erreur il faut déjà voir si dans les "settings" l'option "Microsoft Fondation Classes" est à "Use MFC in a shared DLL" ...
Après le choix de cette option le compilo a réussit à identidier le problème....(dans mon cas....)
Si cela peut aider...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
J'avais le même problème,
Il s'agissait en fait des librairies (opengl/sdl dans mon cas) qui n'était incluse que dans les propriétés "DEBUG".
Il m'a suffit de rajouter les dépendances dans les propriétés "ACTIVE" du projet.
Il s'agissait en fait des librairies (opengl/sdl dans mon cas) qui n'était incluse que dans les propriétés "DEBUG".
Il m'a suffit de rajouter les dépendances dans les propriétés "ACTIVE" du projet.
en fait, je dois utiliser des fonctions que j'ai faite en Matlab, c'est pour cela , j'ai créé le DLL + .H du programme matlab (ils se cront automatiquement en étant extern dans le .H) , et j'ai appelé une fonction.
comment je peux alors appeler mes fonctions matlab pour ne pas avoir cet erreur ???
comment je peux alors appeler mes fonctions matlab pour ne pas avoir cet erreur ???
laa c tres bizarre ce qui m'arrive !
j'ai en Visual C++ le programme suivant :
#include <iostream>
int main(void)
{
return 0;
}
et il me donne toujours l'erreur :
LIBCD.lib(wwincrt0.obj) : error LNK2001: unresolved external symbol _wWinMain@16
Debug/zzz.exe : fatal error LNK1120: 1 unresolved externals
je ne comprend plus rien !!!!!!
quelqu'un pourra m'aider ??
j'ai en Visual C++ le programme suivant :
#include <iostream>
int main(void)
{
return 0;
}
et il me donne toujours l'erreur :
LIBCD.lib(wwincrt0.obj) : error LNK2001: unresolved external symbol _wWinMain@16
Debug/zzz.exe : fatal error LNK1120: 1 unresolved externals
je ne comprend plus rien !!!!!!
quelqu'un pourra m'aider ??
Pour appeler des fonctions Matlab à partir du C++ il faut que tu fasses un MEX File. Mais c'est super reloud à faire (et à comprendre surtout).
Pour ma part, en général je fais mes gros calculs en C++, je sauvegarde sur le disque dur le résultat (à l'aide d'un ofstream) puis je le load en Matlab puis je sauvegarde les résultats sur le disque dur à l'aide de la commande save (de Matlab). J'utilise ainis l'interface graphique de Matalb que je trouve très bien. Mais il est vrai que je ne cesse de jongler mais ca marche en tout cas.
concernant ton dernier message : j'utilise le c++ sous linux (car je ne trouve pas que Windows soit super au top pour faire de gros calculs.
1) Je tape int main() et non int main(void).
2) crée toi un tout nouveau répertoire et refait ton test
3) n'aurais-tu pas supprimer un fichier ?
4) Si ton prgm compile, utilise le débugger et affiche toutes les variables
pom
Pour ma part, en général je fais mes gros calculs en C++, je sauvegarde sur le disque dur le résultat (à l'aide d'un ofstream) puis je le load en Matlab puis je sauvegarde les résultats sur le disque dur à l'aide de la commande save (de Matlab). J'utilise ainis l'interface graphique de Matalb que je trouve très bien. Mais il est vrai que je ne cesse de jongler mais ca marche en tout cas.
concernant ton dernier message : j'utilise le c++ sous linux (car je ne trouve pas que Windows soit super au top pour faire de gros calculs.
1) Je tape int main() et non int main(void).
2) crée toi un tout nouveau répertoire et refait ton test
3) n'aurais-tu pas supprimer un fichier ?
4) Si ton prgm compile, utilise le débugger et affiche toutes les variables
pom
Il existe un patch, disponible sur le site Microsoft, pourtant il n'est pas en téléchargement, il faut appeler un numéro de téléphone en 08..... C'est assez inacceptable, non ? voici le lien : https://support.microsoft.com/fr-fr/help/909350
On dirait une libc cassée. Moi à ta place j'installerai dev cpp et j'arrêterais de travailler avec visual c++. En plus leur compilateur est un peu bizarre et parfois quand on passe à gcc on a des mauvaises surprises sur ses anciens codes. Or justement dev cpp utilise gcc et en plus c'est gratuit... alors autant en profiter :-)
http://www.bloodshed.net/
Bonne chance
http://www.bloodshed.net/
Bonne chance
Bonjour à toi mira, vérifie bien que ton programme puisse se réaliser dans la fenêtre adaptée. Exemple : utiliser une fonction prévue pour l'exécution d'une fenêtre DOS alors que tu travaille en fenêtre normale...
Je voudrais ajouter que cette erreur peut subvenir lorsque vous utilisez des références "extern"
___________________________
main.cpp
//Variable public
double nDouble ;
int main()
{
}
___________________________
CVotreClasse.cpp
//Variable public ref extern
extern double nDouble ; <====== ici il faut être sur de récupérer la même variable que déclarée précédemment.
bool CVotreClasse::Funcion()
{
nDouble = 3.2 ;
bool return true ;
}