Question

  

Microsoft Visual Studio

     

Impossible de démarrer le programme 'theprogram.exe'.

     

Le démarrage de cette application a échoué   parce que la configuration de l'application   est incorrect. Examiner le fichier manifeste   pour les erreurs possibles. Réinstallation du   L'application peut résoudre ce problème. Pour   plus de détails, s'il vous plaît voir le   journal des événements de l'application.

     

OK

Le programme en question est un projet C ++, pas de MFC, pas d'AFX, les bibliothèques utilisées sont: opengl32.lib glu32.lib SDL.lib sdlmain.lib ainsi que le prédéfini libboost_signals-vc80-mt-gd-1_37.lib dans BoostPro computing.

Le programme démarre correctement dans les versions Release, mais lors du débogage, je reçois le message d'erreur susmentionné, ainsi qu'un processus zombie associé au débogueur que je ne peux pas tuer.

Les fichiers de manifeste pour la construction de débogage:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <dependency>
    <dependentAssembly>
      <assemblyIdentity type="win32" name="Microsoft.VC80.DebugCRT" version="8.0.50608.0" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
    </dependentAssembly>
  </dependency>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity type="win32" name="Microsoft.VC80.CRT" version="8.0.50608.0" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
    </dependentAssembly>
  </dependency>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity type="win32" name="Microsoft.VC80.DebugCRT" version="8.0.50727.762" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
    </dependentAssembly>
  </dependency>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity type="win32" name="Microsoft.VC80.CRT" version="8.0.50727.762" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
    </dependentAssembly>
  </dependency>
</assembly>

et relâchez la construction:

<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity type='win32' name='Microsoft.VC80.CRT' version='8.0.50608.0' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' />
    </dependentAssembly>
  </dependency>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity type='win32' name='Microsoft.VC80.CRT' version='8.0.50727.762' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' />
    </dependentAssembly>
  </dependency>
</assembly>

Marcheur de dépendance:

Error: The Side-by-Side configuration information for "c:\prog\opengl guis\gg-0.7.0\debug\TUTORIAL.EXE" contains errors. This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem (14001).
Error: At least one required implicit or forwarded dependency was not found.
Error: At least one module has an unresolved import due to a missing export function in an implicitly dependent module.
Error: Modules with different CPU types were found.
Warning: At least one delay-load dependency module was not found.
Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module.

DLL:

DEVIL.DLL
ILU.DLL
MSVCP80D.DLL
MSVCR80D.DLL
SDL.DLL
DWMAPI.DLL
ADVAPI32.DLL
DCIMAN32.DLL
DDRAW.DLL
GDI32.DLL
GLU32.DLL
KERNEL32.DLL
MSVCRT.DLL
NTDLL.DLL
OPENGL32.DLL
RPCRT4.DLL
SECUR32.DLL
USER32.DLL
ACTIVEDS.DLL
ADSLDPC.DLL
ADVPACK.DLL
APPHELP.DLL
ATL.DLL
AUTHZ.DLL
BROWSEUI.DLL
CABINET.DLL
CDFVIEW.DLL
CERTCLI.DLL
CFGMGR32.DLL
CLBCATQ.DLL
CLUSAPI.DLL
COMCTL32.DLL
COMDLG32.DLL
COMRES.DLL
CREDUI.DLL
CRYPT32.DLL
CRYPTUI.DLL
CSCDLL.DLL
DBGHELP.DLL
DEVMGR.DLL
DHCPCSVC.DLL
DNSAPI.DLL
DUSER.DLL
EFSADU.DLL
ESENT.DLL
GDIPLUS.DLL
HLINK.DLL
HNETCFG.DLL
IEFRAME.DLL
IERTUTIL.DLL
IEUI.DLL
IMAGEHLP.DLL
IMGUTIL.DLL
IMM32.DLL
INETCOMM.DLL
IPHLPAPI.DLL
LINKINFO.DLL
LZ32.DLL
MFC42U.DLL
MLANG.DLL
MOBSYNC.DLL
MPR.DLL
MPRAPI.DLL
MPRUI.DLL
MSASN1.DLL
MSGINA.DLL
MSHTML.DLL
MSI.DLL
MSIMG32.DLL
MSLS31.DLL
MSOERT2.DLL
MSRATING.DLL
MSSIGN32.DLL
MSVCP60.DLL
MSWSOCK.DLL
NETAPI32.DLL
NETCFGX.DLL
NETMAN.DLL
NETPLWIZ.DLL
NETRAP.DLL
NETSHELL.DLL
NETUI0.DLL
NETUI1.DLL
NETUI2.DLL
NORMALIZ.DLL
NTDSAPI.DLL
NTLANMAN.DLL
ODBC32.DLL
OLE32.DLL
OLEACC.DLL
OLEAUT32.DLL
OLEDLG.DLL
POWRPROF.DLL
PRINTUI.DLL
PSAPI.DLL
QUERY.DLL
RASAPI32.DLL
RASDLG.DLL
RASMAN.DLL
REGAPI.DLL
RTUTILS.DLL
SAMLIB.DLL
SCECLI.DLL
SETUPAPI.DLL
SHDOCVW.DLL
SHELL32.DLL
SHLWAPI.DLL
SHSVCS.DLL
TAPI32.DLL
URLMON.DLL
USERENV.DLL
USP10.DLL
UTILDLL.DLL
UXTHEME.DLL
VERSION.DLL
W32TOPL.DLL
WINHTTP.DLL
WININET.DLL
WINIPSEC.DLL
WINMM.DLL
WINSCARD.DLL
WINSPOOL.DRV
WINSTA.DLL
WINTRUST.DLL
WLDAP32.DLL
WMI.DLL
WS2_32.DLL
WS2HELP.DLL
WSOCK32.DLL
WTSAPI32.DLL
WZCDLG.DLL
WZCSAPI.DLL
WZCSVC.DLL
MSVCR80.DLL
TUTORIAL.EXE

appel de l'éditeur de liens:

/OUT:"C:\prog\OpenGL GUIS\GG-0.7.0\Debug\tutorial.exe" /INCREMENTAL /NOLOGO /LIBPATH:"C:\prog\SDL-1.2.13\lib" /LIBPATH:"C:\prog\contrib\lib_win32" /LIBPATH:"C:\prog\boost\boost_1_37\lib" /MANIFEST /MANIFESTFILE:"Debug\tutorial.exe.intermediate.manifest" /NODEFAULTLIB:"LIBC.LIB" /DEBUG /PDB:"c:\prog\OpenGL GUIS\GG-0.7.0\Debug\tutorial.pdb" /SUBSYSTEM:CONSOLE /MACHINE:X86 /ERRORREPORT:PROMPT opengl32.lib glu32.lib SDL.lib sdlmain.lib  kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ".\debug\gg.lib"
Était-ce utile?

La solution

On dirait que la version de débogage est liée aux exécutions de débogage et de publication, ce qui serait une très mauvaise chose - vous n’avez inclus ni dans la liste des bibliothèques avec lesquelles vous créez un lien - cela vaut la peine de vérifier

Modifier: Cela vaut également la peine de vérifier toutes les instructions #pragma comment (lib ...) qui peuvent forcer l'éditeur de liens à inclure une bibliothèque supplémentaire, ce qui peut provoquer des conflits (voir aussi documentation sur MSDN )

Autres conseils

Si vous cliquez avec le bouton droit sur la solution et accédez à Propriétés, vous devez sélectionner Projet de démarrage unique et sélectionner votre projet d'hébergement. Cela a fonctionné pour moi.

Vous avez également deux ensembles de versions différents répertoriés dans le manifeste de la version de débogage!

Cela pourrait être un peu différent puisque vous êtes sur VS2005, mais vous pourriez trouver quelque chose de utile dans ma question: L'application ne s'exécute pas avec les DLL VS 2008 SP1, la version précédente fonctionne avec les versions RTM

J'ai eu un problème très similaire avec Visual Studio 2005 C ++ Express. En installant le SDK de la plate-forme, placez la DLL MSVCR80D au bon endroit, mais VS ne semble pas l’avoir trouvée.

L’installation de SP1 pour VS Express et un redémarrage ont résolu le problème pour moi.

Obtenez-le

Cela ressemble au problème décrit dans ce Boost.Build fil . Les solutions possibles consistent à s’assurer que vous avez choisi d’installer toutes les versions du moteur d’exécution, lors de l’installation de Visual Studio, et à utiliser l’outil sxstrace.exe pour effectuer un diagnostic plus détaillé. Cependant, dans ce cas, rien ne fonctionnait jusqu'à ce que Visual Studio soit réinstallé à partir de zéro.

Essayez de regarder dans le journal des applications comme le suggèrent les messages d'erreur. J'essaierais également d'utiliser un outil comme Dependency Walker pour rechercher un éventuel problème de DLL manquant / incorrect.

Cela m’arrive tout le temps! Voici un petit truc que j'ai découvert pour résoudre ce problème:

  1. Allez à 'Construire > Solution propre '
  2. Dans "l'Explorateur de solutions", cliquez avec le bouton droit de la souris sur votre projet et sélectionnez Propriétés
  3. .
  4. Assurez-vous que la configuration en haut à gauche est 'Debug'
  5. Cliquez sur "Linker > Système > Sous-système "et changez-le en" Non défini ". (S'il est déjà défini sur "Non défini", définissez-le sur "Console".)
  6. Reconstruisez votre programme, s'il échoue, c'est bien.
  7. Retournez à "Éditeur de liens > Système > Sous-système 'et remplacez-le par ce qu'il était auparavant, puis recompilez.

Maintenant, je ne suis pas sûr de savoir pourquoi cela fonctionne.

Le même problème rencontré lors de l’exécution d’une application compilée dans la configuration Debug. J'étais en liaison avec une bibliothèque externe qui avait été liée à la version Release de la bibliothèque d'exécution. Je me suis donc retrouvé avec les exécutions Release et Debug dans le même processus. Comme je n'avais pas la version Debug de cette bibliothèque externe, je devais m'en tenir à la version Release, difficile à déboguer mais tout de même réalisable.

Cela ressemble au même problème que décrit dans cet article: http://tmoniuszko.blogspot.com/2011/11/installing-service-pack-1-for-visual.html

Suivez ces étapes:

  1. Enregistrez le projet dans un nouveau dossier.
  2. Fichier; Déplacez le fichier source.cpp dans le projet.
  3. Construire.
  4. Exécuter.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top