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

Build Boost 1.59 with Intel 16.0 (I have parallel studio 2016 professional)

hbrock21
Beginner
530 Views

I'm using parallel studio 2016 professional and visual studio 2015.

Boost seem not to be able to find my Intel Compiler when I I run bootstrap.bat. I will only adds "MSVC" and not the Intel compiler.

How can I get it to use the Intel compiler?

0 Kudos
6 Replies
TimP
Honored Contributor III
530 Views

Did you open up a command window using the Intel compiler installed shortcut and run the bootstrap.bat there?

0 Kudos
hbrock21
Beginner
530 Views

When I run the bootstrap.bat from the command prompt  it does not added the intel-win to project-config.jam. I have tried editing project-config.jam also.

0 Kudos
Melanie_B_Intel
Employee
530 Views

I don't have an answer to your question per se, but it's ok to bootstrap with the host compiler and run b2 to build the library etc with the Intel compiler.  

0 Kudos
AndrewC
New Contributor III
530 Views

Following upon this one ( it also applies to boost 1.60).

The problem is the file "intel-win.jam" that does not have support for Intel 16.0 compilers.

.intel-autodetect-versions = 16.0 15.0 14.0 13.0 12.0 ;
.iclvars-12.0-supported-vcs = "10.0 9.0 8.0" ;
.iclvars-12.1-supported-vcs = "10.0 9.0 8.0" ;
.iclvars-13.0-supported-vcs = "11.0 10.0 9.0" ;
.iclvars-14.0-supported-vcs = "12.0 11.0 10.0 9.0" ;
.iclvars-15.0-supported-vcs = "12.0 11.0 10.0 9.0" ;
.iclvars-16.0-supported-vcs = "14.0 12.0 11.0 10.0 9.0" ;
.iclvars-version-alias-vc14 = vs2015 ;

Then you can build with....

b2 --toolset=intel-16.0 --sINTEL_BASE_MSVC_TOOLSET=msvc-14.0

But don't forget to add to boost\config\compiler\intel.hpp (until the 16.0 compiler is updated)

#if  (_MSC_VER>1899)
#define __builtin_huge_val() HUGE_VAL
#define __builtin_huge_valf() HUGE_VALF
#define __builtin_nan nan
#define __builtin_nanf nanf
#define __builtin_nans nan
#define __builtin_nansf nanf
#endif

 

 

 

 

0 Kudos
AndrewC
New Contributor III
530 Views

Actually  much better than modifying boost\config\compiler\intel.hpp is to build using...

b2 define="__builtin_nan=nan" define="__builtin_huge_val()=HUGE_VAL" define="__builtin_huge_valf()=HUGE_VALF" define="__builtin_nanf=nanf" define="__builtin_nans=nan" define="__builtin_nansf=nanf" --toolset=intel-16.0 --sINTEL_BASE_MSVC_TOOLSET=msvc-14.0

0 Kudos
sav
Novice
530 Views

Melanie Blower (Intel) wrote:

I don't have an answer to your question per se, but it's ok to bootstrap with the host compiler and run b2 to build the library etc with the Intel compiler.  

That shouldn't work if IPSXE 2016 installed without Visual Studio. But for some reasons command 'bootstrap intel-win32' (details in files 'BOOST\tools\build\src\engine\build.<bat,jam>') fails to build bjam. Therefore the easiest way to prepare BOOST build system is to use 'bootstrap' or 'bootstrap msvc' commands with Visual Studio preinstalled.


vasci_ wrote:

Actually  much better than modifying boost\config\compiler\intel.hpp is to build using...
b2 ..... --toolset=intel-16.0 --sINTEL_BASE_MSVC_TOOLSET=msvc-14.0

With BOOST 1.60.0 released parameter 'toolset=intel-16.0-vc14' works fine too.


Regards,

Alexander

0 Kudos
Reply