vince140
Messages postés10Date d'inscriptionvendredi 31 août 2007StatutMembreDernière intervention 3 novembre 2007
-
29 oct. 2007 à 00:40
vince140
Messages postés10Date d'inscriptionvendredi 31 août 2007StatutMembreDernière intervention 3 novembre 2007
-
31 oct. 2007 à 01:23
Bonjour,
je n'arrive pas à lancer mes applications sur une autre machine que celle qui a servie à leur compilation.
Lorsque j'ouvre le programme, j'ai droit à un *magnifique* message d'erreur typique de Windows...
Message: « Cette application n'a pas pu démarrer car la configuration de l'application est incorrecte. Réinstaller l'application pourrait résoudre ce problème »..
Je compile le programme avec Visual C++ 2005 sous Windows Vista, et l'exécute sous Windows XP.
racpp
Messages postés1910Date d'inscriptionvendredi 18 juin 2004StatutModérateurDernière intervention14 novembre 201416 29 oct. 2007 à 16:35
Salut,
Il peut s'agir aussi de l'utilisation de la CRT. En effet Visual C/C++ 2005 utilise une nouvelle DLL supportant les fonctions de la CRT. Il s'agit de MSVCRT80.DLL. Cette DLL n'est pas présente sur les ordinateurs tournant sous XP et n'ayant pas Visual C/C++ 2005 installé. Il faudra soit copier cette DLL dans le système cible, soit intégrer les fonctions utilisées au sein même de l'exécutable. Pour cela, il suffit d'aller dans les propriétés du projet, choisir "C/C++" puis "Génération de code" et enfin choisir "Multithread (/MT)" pour la "Bibliothèque runtime". C'est facile à traduire c'est ta version est en Anglais.
Vous n’avez pas trouvé la réponse que vous recherchez ?
vince140
Messages postés10Date d'inscriptionvendredi 31 août 2007StatutMembreDernière intervention 3 novembre 2007 29 oct. 2007 à 21:20
BruNews:
J'avais téléchargé Depends Walker, qui m'avais indiqué que MSVCRT80.dll et MSVCPT80.dll était manquants.
Donc j'ai recherché les fichiers sur Vista, les ai collé dans mon dossier mais ça ne fonctionnait toujours pas ..
luhtor:
J'ai cherché sur Google avant de poster mais je n'ai rien trouver..
racpp:
J'ai configuré mon projet comme tu l'as dit mais ca m'a afficher tout plein d'erreur..
En voilà un extrait:
1>libcpmtd.lib(cin.obj) : error LNK2001: symbole externe non résolu __CrtDbgReportW
1>libcpmtd.lib(cout.obj) : error LNK2001: symbole externe non résolu __CrtDbgReportW
1>libcpmtd.lib(stdthrow.obj) : error LNK2001: symbole externe non résolu __CrtDbgReportW
1>libcpmtd.lib(xdebug.obj) : error LNK2019: symbole externe non résolu __malloc_dbg référencé dans la fonction "void * __cdecl operator new(unsigned int,struct std::_DebugHeapTag_t const &,char *,int)" (??2@YAPAXIABU_DebugHeapTag_t@std@@PADH@Z)
1>libcpmtd.lib(xmbtowc.obj) : error LNK2001: symbole externe non résolu __malloc_dbg
1>libcpmtd.lib(xdebug.obj) : error LNK2019: symbole externe non résolu __free_dbg référencé dans la fonction "void __cdecl operator delete(void *,struct std::_DebugHeapTag_t const &,char *,int)" (??3@YAXPAXABU_DebugHeapTag_t@std@@PADH@Z)
1>libcpmtd.lib(xmbtowc.obj) : error LNK2001: symbole externe non résolu __free_dbg
vince140
Messages postés10Date d'inscriptionvendredi 31 août 2007StatutMembreDernière intervention 3 novembre 2007 29 oct. 2007 à 22:55
Quand tu dis supprimer la dépendance, tu parles de régler mon projet en MT ?
J'ai trouver dans la configuration du projet l'option Jeux de caractères, mais je n'ai que Unicode et Multioctet.
J'ai changé pour multioctet mais ça n'a rien changer..
BruNews
Messages postés21041Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 30 oct. 2007 à 23:07
C'est effectivement le souk, c'est lié à msvcr80.dll et faut un manifest pour que ça tourne.
Je n'avais jamais remarqué, doit faire 10 ans que j'ai abandonné la console.
Y aurait bien un moyen, c'est de virer les biblis par défaut et de se lier à msvcrt.dll qui elle est présente sur tous les Windows.
va impec et sans aucune dépendance autre que kernel32.dll
j'ai généré avec mes templates:
TEMPLATES C/C++ POUR VS 2005
http://www.cppfrance.com/code.aspx?ID=36940 en choisissant Cdlg comme template, reste plus qu'à modifier "console" en subsystem pour le linker.