Using the DirectX SDK in Windows 8 with Visual C++ 2010
This post is a result of some insight and necessary steps to get the June 2010 DirectX SDK working on a Windows 8 system, with Visual C++ 2010 express. Given the fact that DirectX 11 comes bundled in with the Windows 8 SDK, my stubbornness to change the configuration is due to the fact that I wanted to follow Frank D. Luna’s latest book, mirroring the same development environment (Visual Studio 2010 and the DirectX SDK) in my Windows 8 machine. Without further ado, lets dive in to the details…
- Windows 8 comes with DirectX bundled in – The Windows 8 SDK comes with the DirectX SDK bundled in, and in turn, Visual Studio 2012 comes with the Windows 8 SDK. This means, you can download VS 2012, and start writing DirectX code without any further configuration. Microsoft recommends (Specifically in this blog), that developers transition to coding DirectX application using the new Windows 8 SDK and VS2012. If you are planning to go down this route, just install VS 2012 Express for Desktop on your Window 8 machine, and try out these great tutorials.
- Windows 8 Contains DirectX 11.1 – What you will not be able to get from the DirectX SDK are the new features available in DirectX 11.1. This does not pose much of a problem, as much of the DirectX code out there is based on the DirectX SDK, and DirectX 11.1 features have not been widely adopted yet. If you are interested in the new DirectX 11.1 features, head over to this page and check them out. But bear in mind that you need to develop using the Windows 8 SDK if you are planning to use it (The windows 8 SDK is available as a separate download if you want to develop in Windows 7 for example).
If you are like me and want to use Visual C++ 2010 and the June 2010 DirectX SDK in Windows 8, then the below steps outline what needs to be done (I am assuming you are using a Windows 8 machine):
- Install Visual C++ 2010 Express Edition – Navigate to the download page for VC++ 2010 express and install the product on your Windows 8 machine. (On Windows 8, after installation, there were some problems where the product did not fire up, stating that I needed to install the service pack for all VS2010 products in my system. When downloading and installing the service pack, some errors were thrown as well. But after restarting the machine and firing up VC++ 2010 Express, it worked properly… am still investigating why all this fuss. This seems to happen if you have other VS2010 express edition products installed already).
- Install the DirectX SDK on your machine – Go to the DirectX SDK download page, download the SDK and install in your system. One thing to note when installing in Windows 8, you will get installation errors if there are existing 32-bit and 64-bit VC++ 2010 redistributables installed in your system (This is because the DirectX SDK uses an older version of them). Follow the steps outlined in this page, in order to get the DirectX SDK installed properly on your Windows 8 system.
If everything went well, you should be up and running in coding and building DirectX applications using VC++ 2010 (provided that you link the appropriate libraries and set the folder paths in the project settings) on your Windows 8 system.