문제

Microsoft Visual Studio

프로그램을 시작할 수 없음 'TheProgram.exe'.

응용 프로그램 구성이 잘못 되었기 때문에이 응용 프로그램이 시작되지 않았습니다. 가능한 오류에 대해서는 매니페스트 파일을 검토하십시오. 응용 프로그램을 다시 설치하면이 문제가 해결 될 수 있습니다. 자세한 내용은 응용 프로그램 이벤트 로그를 참조하십시오.

확인

문제의 프로그램은 C ++ 프로젝트, MFC 없음, AFX 없음, 중고 라이브러리는 다음과 같습니다.opengl32.lib glu32.lib SDL.lib sdlmain.lib 또한 사전 제작 된 libboost_signals-vc80-mt-gd-1_37.lib Boostpro 컴퓨팅에서.

이 프로그램은 릴리스 빌드에서 제대로 시작되지만 디버그에서는 위에서 언급 한 오류 메시지와 죽일 수없는 디버거에 첨부 된 좀비 프로세스를 얻습니다.

디버그 빌드를위한 매니페스트 파일 :

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

그리고 릴리스 빌드 :

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

의존성 워커 :

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

링커 호출 :

/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"
도움이 되었습니까?

해결책

디버그 빌드는 디버그 및 릴리스 런타임과 연결되어있는 것처럼 보입니다. 매우 나쁜 일입니다. 링크하는 라이브러리 목록에 포함하지 않았습니다.

편집 : 확인하는 것이 좋습니다 #pragma comment (lib...) 링커에 추가 라이브러리를 포함하도록 강요 할 수있는 진술은 잠재적 충돌을 일으 킵니다 (또한 참조 MSDN에 대한 문서)

다른 팁

솔루션을 마우스 오른쪽 버튼으로 클릭하고 속성으로 이동하면 단일 시작 프로젝트를 선택하고 호스팅 프로젝트를 선택해야합니다. 이것은 나를 위해 효과가있었습니다.

당신도 가지고 있습니다 디버그 빌드의 매니페스트에 나열된 다양한 버전 세트!

VS2005에 있기 때문에 약간 다를 수 있지만 내 질문에 도움이되는 것을 찾을 수 있습니다. 앱은 vs 2008 SP1 DLLS에서 실행되지 않으며 이전 버전은 RTM 버전에서 작동합니다.

Visual Studio 2005 C ++ Express와 매우 비슷한 문제가있었습니다. 플랫폼 SDK를 설치하면 MSVCR80D DLL을 올바른 위치에 넣었지만 VS는 찾지 못하는 것 같습니다.

vs Express 용 SP1을 설치하고 다시 시작하면 문제가 해결되었습니다.

그것을 얻으십시오 여기

이것은 이것에서 논의 된 문제와 비슷하게 들립니다 부스트 빌드 스레드. 가능한 솔루션에는 Visual Studio를 설치할 때 런타임의 모든 풍미를 설치하고 SXStrace.exe 도구를 사용하여보다 자세한 진단을 제공하도록 선택해야합니다. 그러나 그 경우 Visual Studio가 처음부터 다시 설치 될 때까지 아무것도 효과가 없었습니다.

오류 메시지가 제안한 것처럼 응용 프로그램 로그를 살펴보십시오. 또한 도구와 같은 도구를 사용하려고합니다 의존성 워커 누락/잘못된 DLL 문제를 찾으려면.

이것은 항상 나에게 일어난다! 다음은 내가 고치는 것을 발견 한 작은 트릭입니다.

  1. '빌드> 클린 솔루션'으로 이동
  2. 'Solution Explorer'에서 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 속성으로 이동하십시오.
  3. 왼쪽 상단의 구성이 '디버그'인지 확인하십시오.
  4. 'Linker> System> Subsystem'으로 이동하여 '설정하지 않음'으로 변경하십시오. (이미 '설정하지 않도록 설정된 경우'콘솔로 변경하십시오.)
  5. 컴파일하지 못하면 프로그램을 재건하십시오. 괜찮습니다.
  6. 'Linker> System> Subsystem'으로 돌아가서 이전에 있었던 것으로 변경하고 다시 컴파일하십시오.

이제 이것이 왜 작동하는지에 관해서는 확실하지 않습니다.

디버그 구성에서 컴파일 된 응용 프로그램을 실행하는 것과 동일한 문제가있었습니다. 런타임 라이브러리의 릴리스 버전과 연결된 외부 라이브러리와 연결되어 동일한 프로세스에서 릴리스 및 디버그 런 타임을 모두 끝냈습니다. 이 외부 라이브러리의 디버그 버전이 없었기 때문에 빌드 릴리스를 고수해야했습니다.

이 기사에서 설명한 것과 동일한 문제처럼 보입니다. http://tmoniuszko.blogspot.com/2011/11/installing-service-pack-1-for-visual.html

이 단계를 따르세요:

  1. 새로운 폴더에 프로젝트를 저장하십시오.
  2. 파일; Source.cpp를 프로젝트로 이동하십시오.
  3. 짓다.
  4. 운영.
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top