locked
Metro style app links to static lib, 0xc0000135 on start up

    Question

  • I'm porting some old code to metro style apps and run into this strange problem. There are the DX11 Renderer project as a static lib, and the metro style Application project, all with Win32 Debug configuration, Renderer project is pure C++ without CLR and WinRT support, Application project, of course, with tailored features and WinRT extension enabled. When I call some of the methods from the app project, the application get a 0xc000135 error once it starts up. while calling other methods is OK... it's like:

    //App.vcxproj/main.cpp

    Renderer::Foo0(); // without problem

    and

    //App.vcxproj/main.cpp

    Renderer::Foo1(); // On start up it gets:

    'TestApp.exe' (Win32): Loaded 'C:\Users\xxxxxxx\AppxLayouts\50ceb9d5-b2c8-441e-a923-f80d4a5ad05eVS.Debug.Win32.xxxxxxx\TestApp.exe'. Symbols loaded.
    'TestApp.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ntdll.dll'. Cannot find or open the PDB file.
    'TestApp.exe' (Win32): Loaded 'C:\Windows\SysWOW64\kernel32.dll'. Cannot find or open the PDB file.
    'TestApp.exe' (Win32): Loaded 'C:\Windows\SysWOW64\KernelBase.dll'. Cannot find or open the PDB file.
    'TestApp.exe' (Win32): Loaded 'C:\Windows\SysWOW64\vccorlib110.dll'. Cannot find or open the PDB file.
    'TestApp.exe' (Win32): Loaded 'C:\Windows\SysWOW64\combase.dll'. Cannot find or open the PDB file.
    'TestApp.exe' (Win32): Loaded 'C:\Program Files\Applications\microsoft.vclibs.110.debug_11.0.0.0_x86_neutral_8wekyb3d8bbwe\msvcp110d.dll'. Symbols loaded.
    'TestApp.exe' (Win32): Loaded 'C:\Program Files\Applications\microsoft.vclibs.110.debug_11.0.0.0_x86_neutral_8wekyb3d8bbwe\msvcr110d.dll'. Symbols loaded.
    'TestApp.exe' (Win32): Loaded 'C:\Windows\SysWOW64\d2d1.dll'. Cannot find or open the PDB file.
    'TestApp.exe' (Win32): Loaded 'C:\Windows\SysWOW64\DWrite.dll'. Cannot find or open the PDB file.
    'TestApp.exe' (Win32): Loaded 'C:\Windows\SysWOW64\d3d11.dll'. Cannot find or open the PDB file.
    The thread 0x1d84 has exited with code -1073741515 (0xc0000135).
    The program '[6260] TestApp.exe' has exited with code -1073741515 (0xc0000135). 

    The general reason for this error, from googling, seems to be missing of .Net framework. But I didn't use .net features in the app, also when I try to install .Net 4.0 it tells that a same or newer version is already been installed ( with the win8 preview system ).

    Since it fails at loading time and I cannot even get any more debug information, it is too difficult to figure out what's wrong. Anyone have come into a similar situation or have any suggestions on how this could be traced and debugged? Thanks!

    Tuesday, November 22, 2011 5:46 PM

Answers

  • Do you use D3DX11 in your render project? If yes this is your problem. D3DX is not allowed for metro style apps. As soon as the loader hits a DLL that is not allowed it will stop loading.

    • Marked as answer by labratwin32 Tuesday, November 22, 2011 7:59 PM
    Tuesday, November 22, 2011 5:59 PM

All replies

  • Do you use D3DX11 in your render project? If yes this is your problem. D3DX is not allowed for metro style apps. As soon as the loader hits a DLL that is not allowed it will stop loading.

    • Marked as answer by labratwin32 Tuesday, November 22, 2011 7:59 PM
    Tuesday, November 22, 2011 5:59 PM
  • It's solved :) I didn't use D3DX11 but d3dcompiler.lib, it's the missing d3dcompiler_44.dll in the system folder caused the problem, which had a same look as the error caused by using d3dx11. Thanks!
    Tuesday, November 22, 2011 7:59 PM