Visual Studio 2010 and Platform Toolset "v100-sdk80"

Coordinator
Jun 19, 2012 at 1:35 AM

The Building instructions in the ReadME.TXT and in the Documentation Wiki currently mentions that the library builds with Visual Studio 2010 and the Windows 8.0 SDK. There is going to be a Platform Toolset option to configure the projects for this, and the VS 2010 project files are set up to do this. Unfortunately, the release of the .props files that set this up is still pending.

In the meantime you can change it back to "v100" and then explicitly add the include and lib paths and it will build.

See http://blogs.msdn.com/b/vcblog/archive/2012/03/25/10287354.aspx

Aug 15, 2012 at 10:10 PM

Hi, i have a question, maybe stupid, but can i build DirectXTK with with win7 and vs2010? than you !

Coordinator
Aug 15, 2012 at 10:28 PM
Edited Aug 15, 2012 at 10:29 PM

The DirectXTK_2010 solution/project is setup to use the "v100-sdk80" platform toolset configuration as DirectXTK requires the Windows 8.0 SDK (which supports both VS 2012 and VS 2010; Windows 8, Windows 7, and Windows Vista apps). The details on setting this up should be posted soon. In the meantime, you can change it to use "v100" and then use the manual setup instructions in the VCBlog post above.

Aug 26, 2012 at 5:38 PM
Edited Aug 27, 2012 at 4:31 AM

One thing to point out. DirectXTK CANNOT be built under Visual C++ 2010 Express Edition, because the express edition does not provide the Microsoft Active Template Library. HOWEVER, there is a workaround for this issue.

The Active Template Library IS provided in the Windows Driver Development Kit, which can be downloaded from here: 

http://www.microsoft.com/en-us/download/details.aspx?id=11800 (The ISO can be opened with a tool like 7-Zip, or burned to disc.)

Once the kit is installed, add the WinDDK\7600.16385.1\inc\atl71 directory to the project's VC++ Include Directories, and add the WinDDK\7600.16385.1\lib\ATL\i386 directory to the project's VC++ Library Directories.

You might get a few linker warnings from ATL (warning LNK4254: section 'ATL' (50000040) merged into '.rdata' (40000040) with different attributes), I assume these are because the WDK has a different version of ATL or something, but your application should still compile and run just fine.

Bingo! Windows 8 development, on Windows 7, for free!

Coordinator
Aug 27, 2012 at 7:00 AM

Thanks for the information. We should mention the limitation for VS 2010 Express in the release notes.

DirectXTK supports VS 2012 Express for Windows 8 and will support the upcoming VS 2012 Express for Desktop development. We are doing our best to make it work with VS 2010 as well, but we are more focused on the Pro SKUs for that scenario. Generally we assume if you are using VS 2010 Express you can move to VS 2012 Express. Might not alway be true, but it's an operating assumption.

Coordinator
Dec 14, 2012 at 11:14 PM

Two comments:

The 'platform toolset' support for VS 2010 is not getting shipped, so DirectXTK has been updated to use the official 'property sheet' solution.

We removed the use of ATL from the DirectX SDK. It always uses the WRL ComPtr type even for downlevel Win32 desktop applications. This means the library now supports VS 2012 Express for Desktop as well as VS 2010 Express.