In some cases the Visual Studio version is indicated in the name of the Win pack download file. For example, the file named e.g., opencv-3.3.1-vc14.exe is apparently compiled by VS2015. In the case of OpenCV v3.1.0, the version is not in the download file name, OpenCV-3.1.0.exe, but the compiler version is indicated by the location of the binaries. For example, the binaries located in ..\build\x64\vc12\bin are created by the VS2013 compiler.
The compiler mappings are:
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
You can try to compile lastest version with VS2013 else try to download opencv 3.1.0
Is there a way to determine which c++ version standard was used in each OpenCV version?
It is not an opencv problem but windows problem: use dependancy walker ( or compatible) open an opencv dll and search msvcxxx.dll necessary