Page 1 of 1

Access violation in D3DCompiler_46.dll

Posted: October 1st, 2014, 7:32 am
by albinopapa
Unhandled exception at 0x10189A72 (d3dcompiler_46.dll) in DX11Engine.exe: 0xC0000005: Access violation writing location 0x00000018.

I know doesn't mean much to most but this is the error message pop-up. After clicking on "Break", it shows the "Symbols not loaded" screen with the following message.

D3DCompiler_46.pdb not loaded.
Module Information
Version: 9.30.9200.16384
Original Location: E:\..\DX11Engine\DX11Engine\d3dcompiler_46.dll <- Shortened

So, anyway, I am trying not to use the D3DX11 API as it's outdated. I read that the file needed to be in the directory that the program will be ran in, so I copied it from the SDK directory to the directory above with no luck.

Uploaded the project, but beware it's just a test bed, it's a little messy.

Re: Access violation in D3DCompiler_46.dll

Posted: October 1st, 2014, 11:55 am
by LuX
works for me. Though I get the error at Graphics.h line 57 "LPVOID shaderPtr = vShader->GetBufferPointer();".

Go to tools > options > debugging > symbols and select load symbols from Microsoft server. That might fix the symbol loading stuff.

Re: Access violation in D3DCompiler_46.dll

Posted: October 1st, 2014, 6:59 pm
by albinopapa
Ok, so I'm not sure why it worked for you LuX, but there seems to be some misinformation on the MSDN website. For D3DCompilerFromFile it says that the entry point is ignored ( the function that is used to start the shader; ie main ). Well, I tried doing as you suggested loading the symbols from microsoft to no avail. I decided to add the entry point of VShader and PShader to the function calls and it worked just fine.