Unresolved External Symbol for Draw calls

Dec 21, 2013 at 3:15 PM
Edited Dec 21, 2013 at 3:17 PM
Hi,

i got a confusing Problem with the directxtk...

I referenced the DirectXTK to my project and everything seams to work except when i make some draw Calls.
the compiler always give me error LNK2019: unresolved external symbol (eg for public: void __fastcall DirectX::SpriteBatch::Draw..)
the wired thing is that all begin(), end(), configchange calls are working, and i can debug them correctly.
The SimpleSample is working without any problems.

So my Question, is there any known issue with the old d3d11.h (directx june10 sdk) ? i dont know if this could cause the lnk2019... but this is the only differnce from my Project to the SimpleSample that i see.

Thank you for some suggestions.
Coordinator
Dec 21, 2013 at 8:01 PM
DirectXTK should be used with the Windows 8.x SDK. If you are also using the legacy DirectX SDK, then be sure that the DirectX SDK include and lib paths are after the Windows 8.x SDK. See MSDN for details.

If you are using VS 2010, the Windows 8.x SDK is used with .props files, so you should be sure that your personal projects have the right property page references so you don't get mismatched headers. See this Visual C++ blog post. Remember that if using the DXSDK with VS 2010 and the Windows 8.x SDK, you want the Windows 8.x SDK paths first just like with VS 2012/VS 2013.
Dec 21, 2013 at 9:01 PM
thanks for your reply.
DirectXTK should be used with the Windows 8.x SDK. If you are also using the legacy DirectX SDK, then be sure that the DirectX SDK include and lib paths are after the Windows 8.x SDK. See MSDN for details.
Thats what im doing.
it looks kind of wired to me, that he only has an problem with the draw calls...

im still using the deprecated d3dx11 library. i dont know if there is any problem in kombination with SpriteFont library. but atm im trying to get rid of the deprecated lib and the other lagacy dependencys. i'll see if it will work.
Coordinator
Dec 22, 2013 at 5:39 AM
It should be possible to mix them as long as you are consistent, but there shouldn't be any need to use D3DX11. See Living without D3DX

If you are still using DXUT or Effects 11, you can use the CodePlex version which doesn't have any dependencies on the legacy DirectX SDK.
Marked as answer by walbourn on 1/23/2014 at 11:24 PM