Community
cancel
Showing results for 
Search instead for 
Did you mean: 
seongyun_k_
Beginner
120 Views

Cannot compile when using stl libraries (Visual Studio 2015 with ICC)

Hi,

When I include some of stl library header files, i.e. map, unordered_map, build phase spits out the following error messages:

 

1>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\list(994): error : function returning function is not allowed

1>            _NOEXCEPT_OP(_Alty::is_always_equal::value)

1>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\tuple(424): error : qualified name is not allowed

1>            _NOEXCEPT_OP(is_nothrow_move_assignable<_This>::value

1>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\tuple(424): error : function returning function is not allowed

1>            _NOEXCEPT_OP(is_nothrow_move_assignable<_This>::value

1>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\tuple(454): error : expected a type specifier

1>            _NOEXCEPT_OP(

1>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\tuple(519): error : function returning function is not allowed

1>                _NOEXCEPT_OP(_NOEXCEPT_OP(_Left.swap(_Right)))

1>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\unordered_map(228): error : function returning function is not allowed

1>            _NOEXCEPT_OP(_Alty::is_always_equal::value

1>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\tuple(424): error : qualified name is not allowed

1>            _NOEXCEPT_OP(is_nothrow_move_assignable<_This>::value

Is there any one who has a similar problem with it?

any helpful comments will be enjoyed :D

0 Kudos
3 Replies
seongyun_k_
Beginner
120 Views

Is this true?

The Intel C++ Compiler for Windows uses the Microsoft Visual C++ header files, libraries and linker. Microsoft controls the header files that define the namespace. Contact Microsoft's technical support in reference to Microsoft's conformance to the C++ standard on this issue.

Judith_W_Intel
Employee
120 Views

 

Please provide the command line and the version of the Intel compiler (icl -V). A preprocessed file would also help.

My guess is that you are using an old Intel compiler which did not have support for the c++11 noexcept keyword.

You should be using version 16.0.

Yes Intel does use the Microsoft runtime -- if it compiles with cl it should also compile with icl.

thanks

Judy

Kittur_G_Intel
Employee
120 Views

Thanks Judy, for the response.
@seongyun: Yes, you can download the latest 16.0 Update 1 Intel Compiler from the Intel Registration Center and use /P to generate the preprocessed file to attach to this issue. Again, if you can compile with MS compiler you should be able to do so with ICL as well if not it's a bug and you can attach the file for investigation - appreciate much.

_Kittur

Reply