Can anyone tell me what compiler is built-in to Visual Studio 2015 for C++ projects? I tried it and tried older version compilers and it's giving me other compiling results. Is it GNU C++ version 4.8.2 or a newer version?
They have their own compiler that goes by Visual C++ _____
Here is a mapping of the IDE version to the compiler version. They generally release a major compiler version with each major IDE version.
IDE Version
Compiler Version
Visual Studio 2005
Visual C++ 8.0
Visual Studio 2008
Visual C++ 9.0
Visual Studio 2010
Visual C++ 10.0
Visual Studio 2012
Visual C++ 11.0
Visual Studio 2013
Visual C++ 12.0
Visual Studio 2015
Visual C++ 14.0
Visual Studio 2017
Visual C++ 14.1
Visual Studio 2019
Visual C++ 14.2
Visual Studio 2022
Visual C++ 14.3
So to explicitly answer your question, Visual Studio 2015 uses the compiler Visual C++ 14.0
You can get some useful information running this:
#include <stdio.h>
int main()
{
printf("_MSC_VER : %d \n", _MSC_VER);
printf("_MSC_FULL_VER : %d \n", _MSC_FULL_VER);
printf("_MSC_BUILD : %d \n", _MSC_BUILD);
#ifdef _MSVC_LANG
printf("_MSVC_LANG : C++%d \n", (_MSVC_LANG/100)%2000);
#endif
return 0;
}
Common MSVC versions:
MSVC++ 9.0 _MSC_VER == 1500 (Visual Studio 2008)
MSVC++ 10.0 _MSC_VER == 1600 (Visual Studio 2010)
MSVC++ 11.0 _MSC_VER == 1700 (Visual Studio 2012)
MSVC++ 12.0 _MSC_VER == 1800 (Visual Studio 2013)
MSVC++ 14.0 _MSC_VER == 1900 (Visual Studio 2015)
MSVC++ 14.1 _MSC_VER == 1910 (Visual Studio 2017)
Macros interpretation:
_MSVC_LANG : Defined as an integer literal that specifies the C++ language standard targeted by the compiler
_MSC_VER : contains the major and minor version numbers as an integer (e.g. "1500" is version 15.00)
_MSC_FULL_VER : contains the major version, minor version, and build numbers as an integer (e.g. "150020706" is version 15.00.20706)
_MSC_BUILD : contains the revision number after the major version, minor version, and build numbers (e.g. "1" is revision 1, such as for 15.00.20706.01)
The C/C++ compiler in Visual Studio is and always has been Microsoft C++ Compiler, built by Microsoft (not based on anything else.)
Right now, this is how the compiler names itself:
Microsoft (R) C/C++ Optimizing Compiler Version 19.00.23026
In VS2015, the compiler can target x86 and x64, as well as ARM. It supports almost all of C++11 and C99, and a large part of C++14, plus a little bit of the C++17 (or whenever) draft.
Basically, Visual Studio 2015 supports compiler Visual C++ 14.0. But for more detail, you can track what features of C++ 14.0 has already been implemented here.
Also, I like Dorin's answer, he pointed out a way to check compiler version with code.
Related
I need to change the compiler of microsoft in visual studio 2017 c++ professional to another one like gcc .. how can i do that?
By following the instructions.
Microsoft Visual Studio 2017 supports several C++ compilers to suit a wide variety of codebases. In addition to the Microsoft Visual C++ compiler that many of you are likely familiar with, Visual Studio 2017 also supports Clang, GCC, and other compilers when targeting certain platforms.
I am using OpenCV 2.4.11 and I have 2 folders x64 and x86 both containing vc10, vc11 and vc12 folders, each containing lib folders with the libraries. The libraries look pretty much the same in all folders, with some small differences in size. Firstly, what is the difference between the x64 and x86 folders? Secondly, what is the difference between the vc10, vc11 and vc12 libraries?
They are different builds for each version of Microsoft's Visual Studio compiler.
vc17: The compiler packaged with Visual Studio 2022
vc16: The compiler packaged with Visual Studio 2019
vc15: The compiler packaged with Visual Studio 2017
vc14: The compiler packaged with Visual Studio 2015
vc12: The compiler packaged with Visual Studio 2013
vc11: The compiler packaged with Visual Studio 2012
vc10: The compiler packaged with Visual Studio 2010
It refers to Visual C++ version used for the build. x64 and x86 is the chip architecture 64 vs 32 bit.
It refers to MS Visual Studio version https://en.wikipedia.org/wiki/Microsoft_Visual_Studio#History.
I have installed Visual Studio 2013 first and then Intel Parallel Studio 2015 afterwards.
The options for Intel parallel studio was showing in the Visual Studio 2013(right click project in VS 2013).
I had problems with Visual studio 2013 and Intel C++ compiler integration,
since VS 2013 is not officially supported by Intel C++ 2015.
I have uninstalled VS 2013.
Now I installed Visual Studio 2012 and I find no Intel parallel studio options in the project right click menu in Visual Studio 2012.
Should I uninstall and reinstall Intel Parallel studio 2015 to get it detected by VS 2012.
Or any methods are there to detect Intel parallel studio 2015 by VS 2012.
Intel C++ 2015 include only x64 version, so
in the project property, change the Platform to x64, then General->Platform ToolSet to Intel C++ Compiler XE 15.0
You should reinstall Intel Parallel studio as the installer will configure the necesary modules for Visual Studio 2012 if it is available at the time.
Is it possible to integrate into an application compiled with Visual Studio compiler a DLL compiled with Intel C++ Compiler ?
Are there some special settings to pay attention to for integration?
There seems to be some compatibility options for using Intel C++ Compiler while being compatible with the Visual Studio framework, see https://software.intel.com/en-us/articles/intel-c-compiler-compatibility-with-microsoft-visual-c
Compatibility Options
The following IntelĀ® Compiler options provide compatibility with
different versions of Microsoft Visual C++:
/Qvc8 Microsoft Visual C++ 2005
/Qvc9 Microsoft Visual C++ 2008
/Qvc10
Microsoft Visual C++ 2010
Allegedly, Visual C++ 2010 Express, unlike previous versions, supports third party extensions. I just downloaded the release candidate SDK for Visual Studio 2010, but the installer fails saying that I don't have Visual Studio installed (which is true since i use Visual C++ 2010 Express). Have I missed something? Is there a version of the extension SDK that works with Express?
Visual C++ 2010 Express (or any of the Express versions for that matter) are NOT extensible.
The Visual Studio 2010 SDK can only be used with Professional or higher (as stated in the requirements on the download page).
You haven't missed anything, but your source of information was incorrect.