代码之家  ›  专栏  ›  技术社区  ›  heeen

“无法启动程序”(调试生成)

  •  3
  • heeen  · 技术社区  · 17 年前

    此应用程序无法启动 因为应用程序配置 应用程序可能会解决此问题。对于 详情请参阅 应用程序事件日志。

    好啊

    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.
    

    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:\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"
    
    10 回复  |  直到 17 年前
        1
  •  5
  •   Lainey    15 年前

    如果右键单击解决方案并转到属性,则需要选择Single Startup Project并选择托管项目。这对我有用。

        2
  •  4
  •   Rowland Shaw    17 年前

    看起来调试构建是针对调试运行时和发布运行时进行链接的,这将是一件非常糟糕的事情——您没有将这两个库都包含在链接所针对的库的列表中——但是可能值得检查

    编辑: 可能也值得检查一下 #pragma comment (lib...) 可强制链接器包含附加库的语句,从而导致潜在冲突(另请参见 documentation on MSDN

        4
  •  1
  •   Diederik gio    16 年前

    我与Visual Studio 2005 C++快件有类似的问题。安装平台SDK时,将MSVCR80D dll放在正确的位置,但VS似乎没有找到它。

    为VS Express安装SP1并重新启动,为我解决了这个问题。

    了解了 here

        5
  •  1
  •   Vladimir Prus    16 年前

    这听起来与本文讨论的问题类似 Boost.Build thread

        6
  •  0
  •   Dani van der Meer    17 年前

    尝试像错误消息所建议的那样查看应用程序日志。我也会尝试使用像这样的工具 Dependency walker 查找可能丢失/错误的DLL问题。

        7
  •  0
  •   xian    17 年前

    这种事一直发生在我身上!下面是我发现的一个小技巧:

    1. 转到“构建”>清洁溶液'
    2. 在“解决方案资源管理器”中,右键单击项目,然后转到“属性”
    3. 转到“链接器”>系统>“子系统”并将其更改为“未设置”。(如果已将其设置为“未设置”,则将其更改为“控制台”。)
    4. 重新编译你的程序,如果它编译失败也可以。
    5. 返回“链接器”>系统>并将其更改为以前的状态,然后重新编译。

    现在,至于为什么会这样,我不确定。

        8
  •  0
  •   AlfredD    14 年前

    运行在调试配置中编译的应用程序时遇到相同的问题。我链接了一个外部库,该库与运行时库的发布版本相链接,因此我最终在同一个过程中获得了发布和调试运行时。因为我没有这个外部库的调试版本,所以我不得不坚持发布版本,调试起来很麻烦,但仍然可行。

        9
  •  0
  •   vsprogrammer    14 年前
        10
  •  0
  •   Saket Mittal    10 年前

    遵循以下步骤:

    1. 将项目保存在新文件夹中。
    2. 建筑