Microsoft Visual Studio
Microsoft Visual Studio is an IDE (integrated development environment--a software suite that typically includes a compiler, text editor, debugger, and project manager) that supports C++, C#, and a bunch of other dumb languages that nobody cares about. It has a sweet-ass debugger and generally gives you the least painful experience for developing Windows applications, so that's what we use in the tutorials. The current version is Visual Studio 2015.
- 1 Versions Used in the Tutorials
- 2 Difference Between Express and Community
- 3 Following the Old Series with VS 2015
- 4 Download and Installation
Versions Used in the Tutorials
Visual Studio 2015 Community
Visual Studio 2015 Community has (almost) complete support for C++11.
Visual Studio 2013 Express for Windows Desktop
- Old Version of Advanced Series
- H.U.G.S. Series
- SSE Optimization Series
This release has (incomplete) support for C++11 features.
Visual C++ 2010 Express
- Old Version of Beginner Series
- Old Version of Intermediate Series
Unlike later versions, Express 2010 shipped without the Windows Platform SDK, so you needed to download the DirectX SDK separately to build Direct3D applications (and thus, to build the Framework and follow the tutorials). It is no longer available for download from Microsoft, and may be difficult to obtain online.
Difference Between Express and Community
Microsoft provides a free version of their Visual Studio IDE, traditionally in the form of the 'Express' edition. The Express edition features the same compiler as the paid versions, but lacks some tools such as a profiler for profile-guided optimization or the ability to use plug-ins. Starting from 2013, Microsoft has provided a second free version called the 'Community' edition, which has more features than Express. The only real downside to Community is that, while the Express edition has no limitation in terms of usage, the Community license only extends to individuals or small groups of less than 5 people. Honestly, it makes no fucking sense, but if you're wondering which version you should get, just get the Community edition.
Following the Old Series with VS 2015
Since VS 2010 and DXSDK June 2010 are becoming hard to locate, those wanting to follow the old tutorials will likely want to use VS 2015. This can be done, but the following problems must be fixed in order to do so.
The old beginner and intermediate series required the downloading of the DirectX SDK because VS 2010 did not include it. Newer versions of VS include the Windows Platform SDK which has most of the files from the DXSDK. The problem is, some files were cut from the team, and one of those files --
dxerr.lib -- is included in the old Framework project dependencies. To fix this problem, go into the project properties and remove dxerr.lib from the list of additional libraries.
const in Container Template Parameters
The code from the advanced series and the H.U.G.S. series will fail in VS 2015 because of the use of
const in container template parameters (e.g.
std::vector<const Vec2>). This code was apparently defined as ill-formed by the standard, but older versions of the Microsoft compiler permitted it anyways. Microsoft made the compiler stricter in 2015, thus breaking this code. When following along, you should make appropriate modifications to remove
const from any std container template arguments.
There are minor differences in the user interface that might make it a little harder for beginners to follow along, but you'll be okay.