Where do you usually have your DirectX SDK folder? - windows

I'm new to graphic programming with DirectX-11 and many tutorials reference to the DirectX SDK and the samples included in it. But I can't find my DirectX SDK folder on my desktop even though I can run DirectX programs over Visual Studio.
So where is the DirectX SDK normally stored on my PC. I'm using Windows 8, so DirectX was already included without me having to install it.
Thank you in advance.

The "DirectX Runtime" is part of the OS, not the "DirectX SDK". For a very long time, the DirectX SDK was what you downloaded and installed so a developer could get the headers, libraries and tools to write DirectX apps. That all changed in late 2010 when the DirectX SDK was deprecated and the core headers, libraries, and tools were integrated into the Windows SDK version 8.
See Where is the DirectX SDK? and Not So DirectSetup.
Unfortunately, most of the DirectX 11 tutorials and books were written for the old DirectX SDK and never updated for the Windows SDK. They often make use of D3DX11 which is now deprecated (see Living without D3DX for a list of replacements) and either D3DXMath or XNAMath which have both been replaced by DirectXMath.
The best way to get started with DirectX 11 development today is to install Visual Studio 2015 Community, Professional, or a higher edition. For C++ development, you need to add C++ via the custom install which will also add the Windows 8.1 SDK. Then, go check out the DirectX Tool Kit and it's tutorials. Once you have the basics down, you can go revisit those older tutorials and should be able to follow along using newer tech.
Alternatively, you can install the legacy DirectX SDK and set VS 2012/2013/2015 to use it, but there are a few caveats. First, there's some known issues installing the legacy DirectX SDK. Second, the include & library path order is inverted. Really there's only a few cases where you actually need the old DirectX SDK and for Windows 8 you don't need it. See The Zombie DirectX SDK.
BTW, I hope you are using Windows 8.1 and not Windows 8.0 as Windows 8.0 is no longer supported. See this FAQ.
I've cleaned up a lot of the old DirectX SDK samples so they don't require the legacy DirectX SDK. You can find them on GitHub.
See also DirectX SDKs of a certain age and DirectX SDK Tools Catalog.
With all that said, the default install location for the legacy DirectX SDK is C:\Program Files (x86)\Microsoft DirectX SDK (June 2010) on a 64-bit system or C:\Program Files\Microsoft DirectX SDK (June 2010) on a 32-bit system.
UPDATE:: While it is still a good idea to avoid the legacy D3DX9, D3DX10, and/or D3DX11 utility libraries for new projects, there is now a simpler method for using them that avoids the need to install the legacy DirectX SDK or to rely on the legacy "DirectX End-User Runtime" packages to deploy them. Just use the Microsoft.DXSDK.D3DX NuGet package. See this blog post for more details.

Related

How Develop Win32 and DirectX in VSCode

I want develop Win32 and DirectX in Visual Studio Code.
I already installed gcc, mingw.
OS is windows10.
How do I setting it?
See Microsoft Docs for details on developing C++ code with VS Code.
The latest DirectX headers and link libraries are found in the Windows 10 SDK. Using the Visual C++ or clang/LLVM for Windows toolsets are the best options for consuming the latest Windows 10 SDK.
You may find the DirectX Tool Kit a useful starting point, although my tutorials focus on the Visual Studio MSBuild build environment. I also reference using CMake. You can use MSBuild through Visual Studio Community, and you can use CMake through either VS Community or VS Code.

Latest vcbuild.exe?

What software package provides the latest version of vcbuild.exe?
As far as I know, this tool is distributed with certain older versions of Microsoft's Windows SDK and Visual Studio. On my system, there is v7.1 of the SDK, and vcbuild.exe is not included, at least not in the default install.
To the best of my knowledge, vcbuild is not supplied with the Windows SDK. It is supplied with Visual Studio.
According to this MSDN blog article, vcbuild was retired after VS2008. It is included in VS2008, but not VS2010.

Windows 7 + Visual Studio 2012 Game development

I've read that Visual Studio 2012 can't be used with the XNA game framework so I tried to locate a version of directX which would work with visual studio 2012 on windows 7 and I can't.
It seems that directx11 is embedded in the windows sdk. I tried downloading this windows sdk but it appears that it's aimed squarely at windows 8 developers.
So, my question is this. I want to start developing some rudimentary games to help teach my some basic programming in C++ & C# but i don't want to have a copy of visual studio express installed to take advantage of XNA.
Can this be done with Visual Studio 2012 on Windows 7?
appears that it's aimed squarely at windows 8 developers
This assumption is wrong. Windows 8 and 8.1 SDK backward compatible with older OS (both, as target OS and as development OS): system requirements
Also, you must have Windows 8 SDK already installed with VS2012.
I've read that Visual Studio 2012 can't be used with the XNA game framework
True. Partially. XNA is no longer officially supported, but:
you can try to install XNA in VS2012 (and even VS2013) with a bit of tweaking (and luck)
you can use MonoGame instead (an open source implementation of the Microsoft XNA 4.x Framework)
you can use SharpDX if you just need managed DirectX

VS2012, Windows 8, DirectX and their SDKs

I've recently installed the Visual Studio 2012 Express for Windows Desktop. Along with it, a part of Windows 8 SDK was installed as well.
Currently I want to develop programs only for Windows Vista/7 platform with DirectX 11. Up until now I just installed the Windows 7.1 SDK along with DirectX SDK from june 2010 and everything worked well. Currently, however, I'm a little confused, because the DirectX SDK was incorporated into the Windows 8 SDK. Also, VS2012 uses Windows 8 SDKs by default.
What should I do? Install the Windows 8 SDK and use it to write programs for Windows 7 with DirectX? Or maybe continue to use Windows 7.1 SDK and DirectX /june 2010 SDK? I want to be sure, that my programs (which do not use any 7-specific functions) will still work under Vista and 7.
I think you have two choices
install Win8 SDK and used the features compatible with Win7, since Win8 SDK include the DirectX SDK and there are some features only works under win8, your program will work on win7 as long as you didn't use such features
install Win7 SDK, this will make sure you program can works on Win7
only one thing, make sure the feature you are using are available on your platform, that's all.
Here is a page about the DirectX SDKs, just for your reference
Where is the DirectX SDK?

Using the Windows 7 and DirectX SDKs with VS2005

I have Visual Studio 2005 and want to teach myself DirectX in my free time. I downloaded the latest Windows 7 and DirectX SDKs. According to Microsoft's website, the latest DirectX SDK is not compatible with Visual Studio 2005 (I assume they mean it's not compatible with the SDK it came with). Can I configure VS2005 to use the SDKs I downloaded instead of the SDK it came with? If so, is there anything I should be particularly careful with?
The June 2010 DirectX SDK no longer supports Visual Studio 2005. You need to download an older version of the SDK and you'll be fine.
I'd wager you can encourage June 2010 to run under 2005. You may need to modify your headers slightly to make them 2005 compatible but the DX DLLs don't care what they get dynamically linked to by ... Install the SDK set up the include and library paths to point at the DirectX sdk ... compile and see what errors you get.

Resources