Frage

  

Microsoft Visual Studio

     

Programm kann nicht starten 'theprogram.exe'.

     

Diese Anwendung kann nicht gestartet werden   weil die Anwendungskonfiguration   ist falsch. Überprüfen Sie die Manifest-Datei   für mögliche Fehler berücksichtigt. Neu Installieren der   Anwendung könnte das Problem beheben. Zum   Weitere Einzelheiten finden Sie in der   Anwendungsereignisprotokoll.

     

OK

Das fragliche Programm ist ein C ++ Projekt, kein MFC, keine AFX, verwendete Bibliotheken sind: opengl32.lib glu32.lib SDL.lib sdlmain.lib plus die vorgefertigten libboost_signals-vc80-mt-gd-1_37.lib von BoostPro Computing.

Das Programm startet Fein in Release baut, sondern auf Debug erhalte ich die oben genannte Fehlermeldung, plus ein Zombie-Prozess an den Debugger angebracht, dass ich nicht töten kann.

Die Manifest-Dateien für Debug-Build:

<?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>

und Release-Build:

<?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>

Dependency Walker:

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.

DLLs:

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

Linker Aufruf:

/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"
War es hilfreich?

Lösung

Sieht aus wie die Debug-Build gegen beide Debug-und Release-Laufzeiten verknüpft ist, die eine sehr schlechte Sache wäre - Sie haben auch nicht in der Liste der Bibliotheken enthalten Sie eine Verknüpfung gegen - vielleicht lohnt sein, obwohl

Edit: Könnte auch für alle #pragma comment (lib...) Aussagen wert sein Überprüfung, die den Linker eine zusätzliche Bibliothek aufnehmen zwingen kann, so dass potenzielle Konflikte (siehe auch

Andere Tipps

Wenn Sie rechts auf die Lösung klicken und auf Eigenschaften zu gehen, müssen Sie Einzelstartprojekt wählen, und wählen Sie Ihr Hosting-Projekt. Das funktionierte für mich.

Ich hatte ein sehr ähnliches Problem mit Visual Studio 2005 C ++ Express. Installieren der Plattform SDK, legen Sie die MSVCR80D dll an der richtigen Stelle, aber VS schien es nicht zu finden.

Installation von SP1 für VS Express, und einen Neustart, löste das Problem für mich.

Get it hier

Das klingt ähnlich wie das Problem in diesem diskutiert Boost.Build fädeln . Die möglichen Lösungen beinhalten dafür, dass Sie alle Aromen der Laufzeit installieren ausgewählt haben, wenn Visual Studio installieren, und mit Hilfe des Sxstrace.exe Werkzeug detailliertere Diagnose zu geben. Jedoch, dass Fälle nichts funktionierte, bis Visual Studio von Grund auf neu installiert wurde.

Versuchen Sie im Anwendungsprotokoll schauen, wie die Fehlermeldungen vermuten lassen. Ich würde auch ein Tool wie Dependency Walker versuchen und verwenden eine mögliche fehlende / falsche DLL Problem zu finden.

Das passiert mir die ganze Zeit! Hier ist ein kleiner Trick, den ich entdecken, es zu beheben:

  1. Gehen Sie auf 'Build> saubere Lösung'
  2. Im ‚Projektmappen-Explorer‘ der rechten Maustaste Ihr Projekt, und gehen Sie zu Eigenschaften
  3. Stellen Sie sicher, dass die Konfiguration in der linken oberen ist ‚Debug‘
  4. Gehen Sie zu 'Linkers> System> SubSystem' und das ändern 'Set nicht.' (Wenn es bereits auf ‚Nicht festgelegt‘ ändern zu ‚Console‘.)
  5. Rebuild Ihr Programm, wenn es das ist in Ordnung zu kompilieren schlägt fehl.
  6. Gehen Sie zurück zu 'Linkers> System> SubSystem' und ändern Sie es zu dem, was es war vorher und neu kompilieren.

Nun, warum das funktioniert, bin ich nicht sicher.

das gleiche Problem führt eine Anwendung hat, dass in Debug-Konfiguration kompiliert wurde. Ich war die Verknüpfung mit einer externen Bibliothek, die mit der Release-Version der Laufzeitbibliothek verknüpft worden war, so dass ich mit beiden Release- und Debug-Laufzeiten im gleichen Prozess endete. Da ich nicht die Debug-Version dieser externen Bibliothek hatte musste ich bleibe Build Release, umständlich zu debuggen aber praktikabel ist dennoch.

Es sieht aus wie das gleiche Problem wie in diesem Artikel beschrieben: http://tmoniuszko.blogspot.com/2011/11/installing-service-pack-1-for-visual.html

Gehen Sie folgendermaßen vor:

  1. Speichern Sie das Projekt in den neuen Ordner.
  2. Datei; Bewegen Sie den source.cpp in das Projekt.
  3. Build.
  4. Ausführen.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top