Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.

Error compiling with Visual Studio 2015 Update 3 and Intel C++ Compiler 17.0

Mick_v_
Beginner
2,543 Views

When trying to compile any project with the Intel C++ compiler 17.0, I get 100 compilation errors before the compilation aborts. I have not found any other topic describing the same problems, has anyone experienced the same and fixed it somehow? I have gotten these errors since the release of  VS2015 Update 3, on compiler versions 17.0, 17.0.1 and 17.0.2. I hoped the newer version would have fixed it, but sadly, it hasn't.

To be precise, I have:

Microsoft Visual Studio Enterprise 2015 - Update 3
Intel Parallel Studio XE 2017 Cluster Edition - Update 2

The compiler output looks like this:

4>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\vadefs.h(124): error : identifier "typename" is undefined
4>            template <typename _Ty>
4>                      ^
4>
4>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\vadefs.h(127): error : expected either a definition or a tag name
4>                enum : bool { __the_value = false };
4>                     ^
4>
4>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\vadefs.h(127): error : identifier "bool" is undefined
4>                enum : bool { __the_value = false };
4>                       ^
4>
4>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\vadefs.h(127): error : expected a ";"
4>                enum : bool { __the_value = false };
4>                            ^
4>
4>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\vadefs.h(130): error : identifier "typename" is undefined
4>            template <typename _Ty>
4>                      ^
4>
4>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\vadefs.h(131): error : expected an expression
4>            struct __vcrt_va_list_is_reference<_Ty&>
4>                                                   ^
4>
4>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\vadefs.h(130): error : constant "_Ty" is not used in or cannot be deduced from the template argument list of class template "__vcrt_va_list_is_reference<<error-constant>>"
4>            template <typename _Ty>
4>                               ^
4>
4>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\vadefs.h(136): error : identifier "typename" is undefined
4>            template <typename _Ty>
4>                      ^
4>
4>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\vadefs.h(137): error : expected an expression
4>            struct __vcrt_va_list_is_reference<_Ty&&>
4>                                                    ^
4>
4>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\vadefs.h(137): error : class template "__vcrt_va_list_is_reference" has already been defined
4>            struct __vcrt_va_list_is_reference<_Ty&&>
4>                   ^
4>
4>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\vadefs.h(142): error : identifier "typename" is undefined
4>            template <typename _Ty>
4>                      ^
4>
4>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\vcruntime.h(100): error : expected an identifier
4>    #define _CRT_UNPARENTHESIZE_(...) __VA_ARGS__
4>                                 ^
4>
4>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\vcruntime.h(101): error : expected an identifier
4>    #define _CRT_UNPARENTHESIZE(...)  _CRT_UNPARENTHESIZE_ __VA_ARGS__
4>                                ^
4>
4>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\vcruntime.h(204): error : identifier "bool" is undefined
4>        typedef bool  __vcrt_bool;
4>                ^
4>
4>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\vcruntime.h(249): error : identifier "typename" is undefined
4>            template <typename _CountofType, size_t _SizeOfArray>
4>                      ^
4>
4>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\vcruntime.h(250): error : expected a type specifier
4>            char (*__countof_helper(_UNALIGNED _CountofType (&_Array)[_SizeOfArray]))[_SizeOfArray];
4>                                                             ^
4>
4>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\vcruntime.h(250): error : function returning array is not allowed
4>            char (*__countof_helper(_UNALIGNED _CountofType (&_Array)[_SizeOfArray]))[_SizeOfArray];
4>                                                                     ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\corecrt.h(121): error : identifier "bool" is undefined
4>        template<bool _Enable, typename _Ty>
4>                 ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\corecrt.h(121): error : identifier "typename" is undefined
4>        template<bool _Enable, typename _Ty>
4>                               ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\corecrt.h(124): error : identifier "typename" is undefined
4>        template<typename _Ty>
4>                 ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\corecrt.h(125): error : identifier "true" is undefined
4>        struct _CrtEnableIf<true, _Ty>
4>                            ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\corecrt.h(124): error : constant "_Ty" is not used in or cannot be deduced from the template argument list of class template "_CrtEnableIf<<error-constant>, <error-constant>>"
4>        template<typename _Ty>
4>                          ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\corecrt.h(133): error : identifier "bool" is undefined
4>        typedef bool  __crt_bool;
4>                ^
4>
4>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\yvals.h(645): error : identifier "explicit" is undefined
4>    	explicit __thiscall _Lockit(int);	// set the lock
4>    	^
4>
4>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\yvals.h(645): error : member function with the same name as its class must be a constructor
4>    	explicit __thiscall _Lockit(int);	// set the lock
4>    	                    ^
4>
4>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\yvals.h(646): error : expected a ";"
4>    	__thiscall ~_Lockit() _NOEXCEPT;	// clear the lock
4>    	                      ^
4>
4>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\yvals.h(658): error : expected a ";"
4>    	__CLR_OR_THIS_CALL _Lockit(const _Lockit&) = delete;
4>    	                                           ^
4>
4>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\yvals.h(659): error : expected a ";"
4>    	_Lockit& __CLR_OR_THIS_CALL operator=(const _Lockit&) = delete;
4>    	                                                      ^
4>
4>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\yvals.h(781): error : expected a ";"
4>    	__thiscall ~_Init_locks() _NOEXCEPT;
4>    	                          ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stddef.h(20): error : identifier "__nullptr" is undefined
4>            typedef decltype(__nullptr) nullptr_t;
4>                             ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stddef.h(20): error : expected a ";"
4>            typedef decltype(__nullptr) nullptr_t;
4>                                        ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stddef.h(23): error : namespace "std" has no member "nullptr_t"
4>        using ::std::nullptr_t;
4>                     ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\corecrt_search.h(184): error : invalid argument to attribute "deprecated"
4>        _Check_return_ _CRT_NONSTDC_DEPRECATE(_lfind)
4>                       ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\corecrt_search.h(193): error : invalid argument to attribute "deprecated"
4>        _Check_return_ _CRT_NONSTDC_DEPRECATE(_lsearch)
4>                       ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\corecrt_wstdlib.h(62): error : expected a ")"
4>    __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_1_1(
4>    ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\corecrt_wstdlib.h(62): error : invalid argument to attribute "deprecated"
4>    __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_1_1(
4>    ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\corecrt_wstdlib.h(85): error : expected a ")"
4>    __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_1_1(
4>    ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\corecrt_wstdlib.h(85): error : invalid argument to attribute "deprecated"
4>    __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_1_1(
4>    ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\corecrt_wstdlib.h(107): error : expected a ")"
4>    __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_1_1(
4>    ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\corecrt_wstdlib.h(107): error : invalid argument to attribute "deprecated"
4>    __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_1_1(
4>    ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\corecrt_wstdlib.h(265): error : invalid argument to attribute "deprecated"
4>    _CRT_INSECURE_DEPRECATE(_i64tow_s)
4>    ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\corecrt_wstdlib.h(280): error : invalid argument to attribute "deprecated"
4>    _CRT_INSECURE_DEPRECATE(_ui64tow_s)
4>    ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\corecrt_wstdlib.h(360): error : expected a ")"
4>    __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_4(
4>    ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\corecrt_wstdlib.h(360): error : invalid argument to attribute "deprecated"
4>    __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_4(
4>    ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\corecrt_wstdlib.h(373): error : invalid argument to attribute "deprecated"
4>    _CRT_INSECURE_DEPRECATE(_wsplitpath_s)
4>    ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\corecrt_wstdlib.h(415): error : invalid argument to attribute "deprecated"
4>        _Check_return_ _CRT_INSECURE_DEPRECATE(_wdupenv_s)
4>                       ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\corecrt_wstdlib.h(462): error : expected a ")"
4>        __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_2_0(
4>        ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\corecrt_wstdlib.h(462): error : invalid argument to attribute "deprecated"
4>        __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_2_0(
4>        ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdlib.h(224): error : invalid argument to attribute "deprecated"
4>    _ACRTIMP _CRT_INSECURE_DEPRECATE(strerror) char** __cdecl __sys_errlist(void);
4>             ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdlib.h(227): error : invalid argument to attribute "deprecated"
4>    _ACRTIMP _CRT_INSECURE_DEPRECATE(strerror) int * __cdecl __sys_nerr(void);
4>             ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdlib.h(235): error : invalid argument to attribute "deprecated"
4>    _CRT_INSECURE_DEPRECATE_GLOBALS(_get_pgmptr ) _ACRTIMP char**    __cdecl __p__pgmptr (void);
4>    ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdlib.h(236): error : invalid argument to attribute "deprecated"
4>    _CRT_INSECURE_DEPRECATE_GLOBALS(_get_wpgmptr) _ACRTIMP wchar_t** __cdecl __p__wpgmptr(void);
4>    ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdlib.h(237): error : invalid argument to attribute "deprecated"
4>    _CRT_INSECURE_DEPRECATE_GLOBALS(_get_fmode  ) _ACRTIMP int*      __cdecl __p__fmode  (void);
4>    ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdlib.h(632): error : expected a ")"
4>    __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_1_1(
4>    ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdlib.h(632): error : invalid argument to attribute "deprecated"
4>    __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_1_1(
4>    ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdlib.h(655): error : expected a ")"
4>    __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_1_1(
4>    ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdlib.h(655): error : invalid argument to attribute "deprecated"
4>    __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_1_1(
4>    ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdlib.h(678): error : expected a ")"
4>    __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_1_1(
4>    ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdlib.h(678): error : invalid argument to attribute "deprecated"
4>    __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_1_1(
4>    ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdlib.h(695): error : invalid argument to attribute "deprecated"
4>    _CRT_INSECURE_DEPRECATE(_i64toa_s)
4>    ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdlib.h(711): error : invalid argument to attribute "deprecated"
4>    _CRT_INSECURE_DEPRECATE(_ui64toa_s)
4>    ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdlib.h(750): error : invalid argument to attribute "deprecated"
4>    _Check_return_ _CRT_INSECURE_DEPRECATE(_ecvt_s)
4>                   ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdlib.h(780): error : invalid argument to attribute "deprecated"
4>    _Check_return_ _CRT_INSECURE_DEPRECATE(_fcvt_s)
4>                   ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdlib.h(804): error : invalid argument to attribute "deprecated"
4>    _CRT_INSECURE_DEPRECATE(_gcvt_s)
4>    ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdlib.h(915): error : expected a ")"
4>    __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_2_SIZE(
4>    ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdlib.h(915): error : invalid argument to attribute "deprecated"
4>    __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_2_SIZE(
4>    ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdlib.h(941): error : invalid argument to attribute "deprecated"
4>    __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_3_SIZE_EX(
4>    ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdlib.h(953): error : invalid argument to attribute "deprecated"
4>    _CRT_INSECURE_DEPRECATE(wctomb_s)
4>    ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdlib.h(959): error : invalid argument to attribute "deprecated"
4>    _CRT_INSECURE_DEPRECATE(_wctomb_s_l)
4>    ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdlib.h(1003): error : expected a ")"
4>    __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_2_SIZE(
4>    ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdlib.h(1003): error : invalid argument to attribute "deprecated"
4>    __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_2_SIZE(
4>    ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdlib.h(1029): error : invalid argument to attribute "deprecated"
4>    __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_3_SIZE_EX(
4>    ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdlib.h(1086): error : expected a ")"
4>    __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_4(
4>    ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdlib.h(1086): error : invalid argument to attribute "deprecated"
4>    __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_4(
4>    ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdlib.h(1095): error : invalid argument to attribute "deprecated"
4>    _CRT_INSECURE_DEPRECATE(_splitpath_s)
4>    ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdlib.h(1182): error : invalid argument to attribute "deprecated"
4>        _Check_return_ _CRT_INSECURE_DEPRECATE(_dupenv_s)
4>                       ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdlib.h(1246): error : expected a ")"
4>        __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_2_0(
4>        ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdlib.h(1246): error : invalid argument to attribute "deprecated"
4>        __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_2_0(
4>        ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdlib.h(1254): error : invalid argument to attribute "deprecated"
4>        _CRT_OBSOLETE(SetErrorMode)
4>        ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdlib.h(1259): error : invalid argument to attribute "deprecated"
4>        _CRT_OBSOLETE(Beep)
4>        ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdlib.h(1265): error : invalid argument to attribute "deprecated"
4>        _CRT_OBSOLETE(Sleep)
4>        ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdlib.h(1292): error : invalid argument to attribute "deprecated"
4>        _Check_return_ _CRT_NONSTDC_DEPRECATE(_ecvt) _CRT_INSECURE_DEPRECATE(_ecvt_s)
4>                       ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdlib.h(1292): error : invalid argument to attribute "deprecated"
4>        _Check_return_ _CRT_NONSTDC_DEPRECATE(_ecvt) _CRT_INSECURE_DEPRECATE(_ecvt_s)
4>                                                     ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdlib.h(1300): error : invalid argument to attribute "deprecated"
4>        _Check_return_ _CRT_NONSTDC_DEPRECATE(_fcvt) _CRT_INSECURE_DEPRECATE(_fcvt_s)
4>                       ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdlib.h(1300): error : invalid argument to attribute "deprecated"
4>        _Check_return_ _CRT_NONSTDC_DEPRECATE(_fcvt) _CRT_INSECURE_DEPRECATE(_fcvt_s)
4>                                                     ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdlib.h(1308): error : invalid argument to attribute "deprecated"
4>        _CRT_NONSTDC_DEPRECATE(_gcvt) _CRT_INSECURE_DEPRECATE(_fcvt_s)
4>        ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdlib.h(1308): error : invalid argument to attribute "deprecated"
4>        _CRT_NONSTDC_DEPRECATE(_gcvt) _CRT_INSECURE_DEPRECATE(_fcvt_s)
4>                                      ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdlib.h(1315): error : invalid argument to attribute "deprecated"
4>        _CRT_NONSTDC_DEPRECATE(_itoa) _CRT_INSECURE_DEPRECATE(_itoa_s)
4>        ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdlib.h(1315): error : invalid argument to attribute "deprecated"
4>        _CRT_NONSTDC_DEPRECATE(_itoa) _CRT_INSECURE_DEPRECATE(_itoa_s)
4>                                      ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdlib.h(1322): error : invalid argument to attribute "deprecated"
4>        _CRT_NONSTDC_DEPRECATE(_ltoa) _CRT_INSECURE_DEPRECATE(_ltoa_s)
4>        ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdlib.h(1322): error : invalid argument to attribute "deprecated"
4>        _CRT_NONSTDC_DEPRECATE(_ltoa) _CRT_INSECURE_DEPRECATE(_ltoa_s)
4>                                      ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdlib.h(1330): error : invalid argument to attribute "deprecated"
4>        _CRT_NONSTDC_DEPRECATE(_swab)
4>        ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdlib.h(1337): error : invalid argument to attribute "deprecated"
4>        _CRT_NONSTDC_DEPRECATE(_ultoa) _CRT_INSECURE_DEPRECATE(_ultoa_s)
4>        ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdlib.h(1337): error : invalid argument to attribute "deprecated"
4>        _CRT_NONSTDC_DEPRECATE(_ultoa) _CRT_INSECURE_DEPRECATE(_ultoa_s)
4>                                       ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdlib.h(1348): error : invalid argument to attribute "deprecated"
4>            _Check_return_ _CRT_NONSTDC_DEPRECATE(_putenv)
4>                           ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\float.h(231): error : invalid argument to attribute "deprecated"
4>    _CRT_MANAGED_FP_DEPRECATE _CRT_INSECURE_DEPRECATE(_controlfp_s)
4>                              ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\math.h(293): error : identifier "bool" is undefined
4>        _Check_return_ inline bool signbit(_In_ float _X) throw()
4>                              ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\math.h(298): error : identifier "bool" is undefined
4>        _Check_return_ inline bool signbit(_In_ double _X) throw()
4>                              ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\math.h(303): error : identifier "bool" is undefined
4>        _Check_return_ inline bool signbit(_In_ long double _X) throw()
4>                              ^
4>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\math.h(389): error : identifier "bool" is undefined
4>        _Check_return_ inline bool isfinite(_In_ _Ty _X) throw()
4>                              ^
4>

 

0 Kudos
1 Solution
Judith_W_Intel
Employee
2,543 Views

 

What does your command line look like? Does adding /Qvc14 fix the problem?

View solution in original post

0 Kudos
8 Replies
Judith_W_Intel
Employee
2,544 Views

 

What does your command line look like? Does adding /Qvc14 fix the problem?

0 Kudos
Mick_v_
Beginner
2,543 Views

Thanks, that did indeed work! I generate my projects using premake, so I do not usually configure command line options manually, I add them to premake. In previous versions (VS2015 Update 2 with Parallel Studio XE update 1 and everything before that). I had never experienced this problem before, I could just switch back and forth between the Intel C++ and the Visual C++ compiler without a problem, using the VS interface.

But since VS2015 Update 3, I have this problem even in the simplest projects, even if completely created via Visual Studio. And I am not the only one, a friend of mine has exactly the same problem since Update 3. I have tried completely removing and reinstalling both VS and Intel Parallel Studio XE, but nothing worked.

Do you know what may have caused this? Is the problem that VS does not specify this command line option anymore (while it did before Update 3), or maybe the integration of Intel with VS that is missing this option somehow?

Anyway, thanks for the workaround, and the quick and accurate reply! Adding /Qvc14 to the Additional Options for the Command Line worked like a charm! I can finally compile with ICC again!

0 Kudos
Judith_W_Intel
Employee
2,543 Views

 

This is how it's supposed to work - the "icl" driver calls "cl" (cl is the Microsoft compiler) to get the version string of the cl.exe that is in the user's PATH.

For example on my system cl prints:

!% cl
Microsoft (R) C/C++ Optimizing Compiler Version 19.00.24210 for x64
Copyright (C) Microsoft Corporation.  All rights reserved.

usage: cl [ option... ] filename... [ /link linkoption... ]
!%

The full version number is 19.00.24210 which means this is MSVC++ 2015.

The driver then knows to tell the rest of the compiler to act like MSVC++ 2015 (this is the same thing that you are doing explicitly by specifying /Qvc14).

I'm not sure why the driver in this case is not automagically figuring out that you are using MSVC++ 2015.

What does typing cl say on your system? Is there a 19.00 in the version string?

Judy

0 Kudos
Mick_v_
Beginner
2,543 Views

Thank you for the explanation.

In the default command prompt, cl is not detected (as expected I guess?). If I open the VS developers command prompt, I get the correct output as expected:

Microsoft (R) C/C++ Optimizing Compiler Version 19.00.24215.1 for x64
Copyright (C) Microsoft Corporation.  All rights reserved.

usage: cl [ option... ] filename... [ /link linkoption... ]

 

What I do notice from this, is that there is an extra .1 at the end of the version string that was not there in your output. Maybe this breaks version detection, as the version has a slightly different syntax than expected?

 

Mick

0 Kudos
Judith_W_Intel
Employee
2,543 Views

 

I think it's more likely to be a problem in that you do not have a "cl.exe" in your default command prompt...Is that the same environment in which you are running cmake or icl.exe? 

One of the requirements of using our compiler is that there must be a Microsoft environment (cl) available if icl is executed.

0 Kudos
SergeyKostrov
Valued Contributor II
2,543 Views
>>>>Microsoft (R) C/C++ Optimizing Compiler Version 19.00.24215.1 for x64 >>>>Copyright (C) Microsoft Corporation. All rights reserved. >>>> >>>>usage: cl [ option... ] filename... [ /link linkoption... ] >> >>What I do notice from this, is that there is an extra .1 at the end of the version string that was not there in your output. Maybe this >>breaks version detection, as the version has a slightly different syntax than expected? I don't think that extra 1 is the reason for all these compilation problems. In bat-files a major version of a C++ compiler is usually checked ( 19 in that case ).
0 Kudos
Mick_v_
Beginner
2,543 Views

Thanks, I tried to recreate it on my laptop to see if it had the same problem. This time, compilation just works without a problem. Still, the setup seems the same: same VS version, same Intel version,  "cl" on the regular cmd is not recognized, and "cl" in the visual studio developers command prompt gives the same output, with the .1. Tried to compile the same project (regenerated), but on my desktop, it still does not detect the correct VS version when compiling with intel from Visual Studio on my desktop, but on my laptop: no problem.

I will try to compare my desktop setup with the setup of my friend, with the same issue, to see if we can find a common difference from my laptop setup.

0 Kudos
Judith_W_Intel
Employee
2,543 Views

 

I asked the driver developer about the version number and he assured me that it would work fine with the .1 at the end, i.e. you can use the -# command line option to see the output the driver is producing and check that --microsoft_version is set to 1903 i.e.:

mtoguchi:688> cl

Microsoft (R) C/C++ Optimizing Compiler Version 19.00.24215.1 for x64

Copyright (C) Microsoft Corporation.  All rights reserved.

 

usage: cl [ option... ] filename... [ /link linkoption... ]

mtoguchi:689> icl -# -c a.c 2>&1 | grep micro

    --microsoft_version=1903 \

    --microsoft_build_number=24215 \

    -mGLOB_microsoft_version=1900 \

 

So it seems there is something about the environment that is causing the wrong version or no version of cl.exe to be found. I'd be interested to hear if you are able to figure it out...

Judy

0 Kudos
Reply