No cookie for

Tech Tip: Which Compiler Do I Need? Making Sense of Microsoft Compiler Versions

Posted by on Support

The Windows versions of MAK products are built using the Microsoft Visual C++ (MSVC++) compiler. Because application and library compatibility is usually broken between different versions of the compiler, applications that interoperate must be built using compatible compilers. To help customers choose the correct version of an application to install, each MAK application installer includes the compiler version it was built with in the installer filename. Additionally, the About box for each application includes the compiler used to build it.

If you are an end user and you are not doing any development, when you install multiple MAK products, such as the MAK RTI and VR-Forces, all you have to remember is to install versions that use the same compiler so that they can play well together. If you are a developer, the MAK product compiler versions you use need to match (or be compatible with) the Microsoft Visual Studio version you are building with.

To indicate the compiler version, MAK has long adopted a convention of appending VC (Visual C++) with the Visual Studio version number, such as VC4, VC5, and more recently VC15. This number has historically matched the MSVC++ version and the Visual Studio version number, but not always the Visual Studio release year. For example, Visual Studio 2012 was Visual Studio Version 11, and MSVC++11.0, MAK calls this VC11. To further confuse matters, with the recent release of Microsoft Visual Studio 2017 version 15, the MSVC++ version became 14.1. There are some good, if technical reasons for this, however this version is now sometimes referred to as the “2017 version”, version 15, and MSVC++ version 14.1. MAK will stick with the Visual Studio Version and call this product VC15. A full breakdown of the versioning can be found here.

To increase the confusion, VC14 and VC15 libraries are binary compatible. Therefore, if you are using VC15 you can build against VC14 libraries. For maximum compatibility, this is what MAK is doing. The VC15 versions of our products (such as VR-Forces and VR-Vantage) are built against the VC14 version of VR-Link, MAK RTI, and DI-Guy libraries. This means that our long time requirement that you match the compiler version when doing development is no longer quite so ironclad.

So here is our advice: If you are developing in Microsoft Visual Studio 2017, you can choose the VC14 or VC15 versions of MAK Products to develop with. If you are using an older compiler, here is a more complete table to help you pick the right MAK Product compiler version:

 

MSVC++

Visual Studio Year

Visual Studio Version

MAK VC Version

8

2005

8

8

9

2008

9

9

10

2010

10

10

11

2012

11

11

12

2013

12

12

14

2015

14

14

14.1

2017

15

15

 
Last modified on
Trackback URL for this blog entry.

Comments

  • No comments made yet. Be the first to submit a comment

Leave your comment

Guest
Guest 16 July 2019