Pregunta

  

Microsoft Visual Studio

     

No se puede iniciar el programa 'theprogram.exe'.

     

Esta aplicación no ha podido iniciarse   porque la configuración de la aplicación   Es incorrecto. Revise el archivo manifiesto   por posibles errores. Reinstalando el   La aplicación puede solucionar este problema. por   más detalles, por favor vea el   registro de eventos de la aplicación.

     

OK

El programa en cuestión es un proyecto de C ++, sin MFC, sin AFX, las bibliotecas utilizadas son: opengl32.lib glu32.lib SDL.lib sdlmain.lib más el libboost_signals-vc80-mt-gd-1_37.lib preinstalado de la computación BoostPro.

El programa comienza bien en las versiones de lanzamiento, pero en Debug recibo el mensaje de error mencionado anteriormente, más un proceso zombie adjunto al depurador que no puedo eliminar.

Los archivos de manifiesto para la compilación de depuración:

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

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

Caminante de dependencia:

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

llamada al enlazador:

/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"
¿Fue útil?

Solución

Parece que la compilación de depuración está vinculada con los tiempos de ejecución tanto de depuración como de liberación, lo que sería algo muy malo, ya que no se ha incluido en la lista de bibliotecas a las que se está vinculando. p>

Editar: También podría valer la pena revisar cualquier declaración de #pragma comment (lib ...) que pueda forzar al vinculador a incluir una biblioteca adicional, causando posibles conflictos (vea también documentación en MSDN )

Otros consejos

Si hace clic con el botón derecho en la solución y va a Propiedades, debe seleccionar Proyecto de inicio único y seleccionar su proyecto de alojamiento. Esto funcionó para mí.

¡También tienes dos diferentes conjuntos de versiones enumeradas en el manifiesto para la compilación de depuración!

Puede ser un poco diferente ya que está en VS2005, pero puede encontrar algo útil en mi pregunta: La aplicación no se ejecuta con VS 2008 SP1 DLL, la versión anterior funciona con versiones RTM

Tuve un problema muy similar con Visual Studio 2005 C ++ express. Al instalar el SDK de la plataforma, coloque la dll MSVCR80D en el lugar correcto, pero VS no parece encontrarlo.

La instalación de SP1 para VS Express y un reinicio resolvieron el problema por mí.

Consíguelo

Esto suena similar al problema discutido en este Boost.Build hilo . Las posibles soluciones incluyen asegurarse de que ha seleccionado instalar todos los tipos de tiempo de ejecución al instalar Visual Studio y usar la herramienta sxstrace.exe para brindar un diagnóstico más detallado. Sin embargo, en esos casos, nada funcionó hasta que Visual Studio se reinstaló desde cero.

Intente buscar en el registro de la aplicación como lo sugieren los mensajes de error. También intentaría usar una herramienta como Dependency walker para encontrar un posible problema de DLL faltante / incorrecto.

¡Esto me pasa todo el tiempo! Aquí hay un pequeño truco que descubrí para solucionarlo:

  1. Vaya a 'Crear > Solución limpia '
  2. En el 'Explorador de soluciones', haga clic con el botón derecho en su proyecto y vaya a propiedades
  3. Asegúrese de que la configuración en la parte superior izquierda sea 'Depurar'
  4. Vaya a 'Vinculador > Sistema > Subsistema 'y cambie eso a' No establecido '. (Si ya está configurado como 'No establecido', cámbielo por 'Consola').
  5. Reconstruye tu programa, si falla la compilación está bien.
  6. Vuelve a 'Vinculador > Sistema > Subsistema 'y cámbielo a lo que era anteriormente, y vuelva a compilarlo.

Ahora, en cuanto a por qué funciona esto, no estoy seguro.

Tenía el mismo problema al ejecutar una aplicación compilada en la configuración de depuración. Estaba enlazando con una biblioteca externa que se había vinculado con la versión Release de la biblioteca en tiempo de ejecución, por lo que terminé con los tiempos de ejecución de Release y Debug en el mismo proceso. Dado que no tenía la versión de depuración de esta biblioteca externa, tuve que atenerme a la compilación de la versión, que es incómoda de depurar pero, no obstante, viable.

Parece el mismo problema que se describe en este artículo: http://tmoniuszko.blogspot.com/2011/11/installing-service-pack-1-for-visual.html

Sigue estos pasos:

  1. Guarda el proyecto en una nueva carpeta.
  2. archivo; Mueva el archivo source.cpp al proyecto.
  3. Construir.
  4. Ejecutar.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top