加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – “无法启动程序”(调试版本)

发布时间:2020-12-16 10:15:24 所属栏目:百科 来源:网络整理
导读:Microsoft Visual Studio Unable to start program ‘theprogram.exe’. This application has failed to start because the application configuration is incorrect. Review the manifest file for possible errors. Reinstalling the application may fix

Microsoft Visual Studio

Unable to start program ‘theprogram.exe’.

This application has failed to start
because the application configuration
is incorrect. Review the manifest file
for possible errors. Reinstalling the
application may fix this problem. For
more details,please see the
application event log.

OK

有问题的程序是一个C项目,没有MFC,没有AFX,使用的库是:
opengl32.lib glu32.lib SDL.lib sdlmain.lib加上BoostPro计算中预先构建的libboost_signals-vc80-mt-gd-1_37.lib.

程序在Release版本中正常启动,但是在Debug上我得到了上面提到的错误信息,加上一个我无法杀死的调试器附带的僵尸进程.

调试版本的清单文件:

<?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:progopengl guisgg-0.7.0debugTUTORIAL.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

链接器调用:

/OUT:"C:progOpenGL GUISGG-0.7.0Debugtutorial.exe" /INCREMENTAL /NOLOGO /LIBPATH:"C:progSDL-1.2.13lib" /LIBPATH:"C:progcontriblib_win32" /LIBPATH:"C:progboostboost_1_37lib" /MANIFEST /MANIFESTFILE:"Debugtutorial.exe.intermediate.manifest" /NODEFAULTLIB:"LIBC.LIB" /DEBUG /PDB:"c:progOpenGL GUISGG-0.7.0Debugtutorial.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 ".debuggg.lib"

解决方法

看起来调试版本与调试和发布运行时相关联,这将是一件非常糟糕的事情 – 您还没有包含在您链接的库列表中 – 可能值得检查

编辑:
可能还值得检查任何#pragma comment(lib …)语句,这些语句可能会强制链接器包含一个额外的库,从而导致潜在的冲突(另请参阅documentation on MSDN)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读