Pergunta

Microsoft Visual Studio

Não é possível iniciar o programa 'theprogram.exe'.

Esta aplicação falhou ao iniciar porque a configuração da aplicação está incorreto. Revise o arquivo de manifesto por possíveis erros. reinstalar o aplicativo pode corrigir esse problema. Para mais detalhes, consulte o log de eventos do aplicativo.

OK

O programa em questão é um projecto C ++, não MFC, não AFX, bibliotecas usadas são: opengl32.lib glu32.lib SDL.lib sdlmain.lib mais o libboost_signals-vc80-mt-gd-1_37.lib pré-construídos a partir de BoostPro computação.

O programa começa bem em compilações Release, mas em Debug eu recebo a mensagem de erro acima, além de um processo zumbi anexado ao depurador que eu não posso matar.

Os arquivos de manifesto para compilação de depuração:

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

e compilação de lançamento:

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

Chamada de vinculador:

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

Solução

Parece que a compilação de depuração está ligada contra ambos os tempos de execução de depuração e de libertação que seria uma coisa muito ruim - você não incluiu tanto na lista de bibliotecas que você está ligando contra - pode valer a pena verificar que

Edit: Também pode valer a pena verificar para quaisquer declarações #pragma comment (lib...) que pode forçar o vinculador para incluir uma biblioteca adicional, causando potenciais conflitos (ver também documentação no MSDN )

Outras dicas

Se você clique direito sobre a solução e vá para Propriedades, você precisa selecionar Único projeto de inicialização e selecione o seu projeto de hospedagem. Isso funcionou para mim.

Você também tem dois diferentes conjuntos de versões listadas no manifesto para a compilação de depuração!

Pode ser um pouco diferente, pois você está no VS2005, mas você pode encontrar algo útil para a minha pergunta: App não for executado com vS 2008 DLLs SP1, obras de versões anteriores com versões RTM

Eu tive um problema muito semelhante com o Visual Studio 2005 C ++ Express. Instalar o SDK da plataforma, colocar a dll MSVCR80D no lugar certo, mas VS não parecem encontrá-lo.

Como instalar o SP1 para o VS Express, e um reinício, resolveu o problema para mim.

Obter aqui

Este sons semelhantes para o problema discutido neste Boost.Build enrosque . As soluções possíveis envolvem certificando-se de que você selecionou para instalar todos os sabores de tempo de execução, ao instalar o Visual Studio, e usando a ferramenta sxstrace.exe para dar mais detalhado diagnóstico. No entanto, em que os casos nada funcionou até Visual Studio foi reinstalado a partir do zero.

Tente olhar no registo de aplicações como as mensagens de erro sugere. Também gostaria de tentar usar uma ferramenta como Dependency Walker para encontrar um possível problema DLL faltando / erradas.

Isso acontece comigo o tempo todo! Aqui está um pequeno truque que eu descobri para corrigi-lo:

  1. Vá para 'Construir> Limpar solução'
  2. No 'Solution Explorer' clique direito seu projeto e vá para propriedades
  3. Certifique-se a configuração na parte superior esquerda é 'depuração'
  4. Vá para 'Linker> Sistema> SubSystem' e mudar isso para 'Not Set.' (Se ele já está definido para a mudança 'Not Set' para 'Console.')
  5. Reconstruir seu programa, se não conseguir compilar tudo bem.
  6. Volte para 'Linker> Sistema> SubSystem' e alterá-lo para o que anteriormente era, e recompilação.

Agora, por que isso funciona, eu não tenho certeza.

teve o mesmo problema executando um aplicativo que foi compilado em configuração de depuração. Eu estava ligando com uma biblioteca externa que tinha sido associada com a versão da biblioteca de tempo de execução por isso, acabei com as duas de lançamento e de depuração tempos de execução no mesmo processo. Desde que eu não tinha a versão de depuração desta biblioteca externa que eu tinha que furar a compilação de lançamento, pesado para depuração, mas viável, no entanto.

Parece que o mesmo problema, como descrito neste artigo: http://tmoniuszko.blogspot.com/2011/11/installing-service-pack-1-for-visual.html

Siga estas etapas:

  1. Salve o projeto na nova pasta.
  2. Arquivo; Mova o codigo.cpp no ??projeto.
  3. Build.
  4. Executar.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top