2009-08-06 6 views
1

Je travaille sur une invite de commande roguelike dans VisualC++ 2008, et tout compile bien et dandy, mais il y a un problème flagrant que j'ai avec lui.Question rapide: Pourquoi les exe compilés par VC++ ne fonctionnent plus si je change de nom?

Pourquoi est-ce que si je change le nom de l'exe, le programme échoue complètement? Je ne pense pas que cela soit supposé se produire avec la plupart des programmes

+0

Ce qui ne manque complètement cela signifie? Complètement ambigu. – GManNickG

Répondre

0

Cela ne se produit pas à moins que le programme lui-même soit conçu pour vérifier le nom de son propre exe et se comporter différemment en conséquence. Vous devez poster du code.

+1

Je n'ai jamais spécifié quelque chose comme ça dans mon code, je crois que cela a quelque chose à voir avec les options du projet mais je ne sais pas ce que c'est. Lorsque je change le nom, j'obtiens cette erreur: Cette application n'a pas pu démarrer car MSVCR90D.dll n'a pas été trouvé. –

3

Il est plus probable en raison du fichier manifeste - soit vous devez renommer le fichier manifeste aussi bien ou intégrez dans l'exe, voir http://support.microsoft.com/kb/944276

+0

Ah, merci, je comprends cela, et cela est résolu. Cependant, j'ai un problème supplémentaire ici. J'essaye de distribuer l'EXE à quelques amis, mais ils reçoivent des erreurs de configuration "côte à côte" ou "config d'application est incorrecte." Je veux le compiler dans/MT, mais il me donne toutes sortes de fous erreurs de lien, et je ne veux pas utiliser/MTd car il rend la taille du fichier énorme –

+0

Pouvez-vous donner quelques exemples de ces erreurs de linker fous? – cmeerw

+0

1> LINK: avertissement LNK4098: defaultlib 'LIBCMT' en conflit avec l'utilisation d'autres libs; use/NODEFAULTLIB: bibliothèque 1> libcpmtd.lib (xdebug.obj): erreur LNK2019: symbole externe non résolu __malloc_dbg référencé dans la fonction "void * opérateur __cdecl nouveau (entier non signé, struct std :: _ DebugHeapTag_t const &, char *, int) 1> libcpmtd.lib (xdebug.obj): erreur LNK2019: symbole externe non résolu __free_dbg référencé dans la fonction "void __cdecl opérateur delete (void *, struct std :: _ DebugHeapTag_t contre t &, char *, int) 1> 4chRogue.exe: erreur irrécupérable LNK1120: 2 externes non résolus –

Questions connexes