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

Boost 1.65.1 with Intel C++ 18.0 on Windows with Visual Studio 15.4.5

Sergey_quixoticaxis_
729 Views

Did anyone manage to compile Boost 1.65.1 with Intel C++ 18.0 and Visual Studio 15.4.5? I somehow successfully compiled 1.65.1 with prior versions of VS2017 but now it fails.

More specifically, when launching "b2 address-model=64 toolset=intel-18.0-vc14 cxxflags=/Qstd=c++17 --build-type=complete link=static --with-coroutine --with-filesystem --with-context --with-log stage" build process doesn't find "icl" while it's accessible from the same console.

Any help is appreciated.

0 Kudos
6 Replies
jimdempseyatthecove
Honored Contributor III
729 Views

Are your sure icl is being invoked instead of MS VC++ (expected to be located in toolset=intel-18.0-vc14)?

Jim Dempsey

0 Kudos
Sergey_quixoticaxis_
729 Views

jimdempseyatthecove wrote:

Are your sure icl is being invoked instead of MS VC++ (expected to be located in toolset=intel-18.0-vc14)?

Jim Dempsey

I suppose it's trying to use icl because the error I get is "icl is not recognized as an internal or external command".

0 Kudos
jimdempseyatthecove
Honored Contributor III
729 Views

It would appear that the PATH to icl was not setup properly. As a diagnostic (I am assuming b2 is a batch or makefile or other shell script file), just prior to it invoking icl, insert an

echo $PATH

into the script. Then verify that icl is located in PATH (at the place in the script file that issues icl).  A common cause for such error is messing semicolon (;).

Jim Dempsey

0 Kudos
Sergey_quixoticaxis_
729 Views

jimdempseyatthecove wrote:

It would appear that the PATH to icl was not setup properly. As a diagnostic (I am assuming b2 is a batch or makefile or other shell script file), just prior to it invoking icl, insert an

echo $PATH

into the script. Then verify that icl is located in PATH (at the place in the script file that issues icl).  A common cause for such error is messing semicolon (;).

Jim Dempsey

b2 is an executable, so I can't insert echo anywhere. Well, I probably can, but for this to work I'll need to more or less understand how Boost.Build is internally working, and currently I can't afford it (no time). I though that someone might know how to build it because Boost 1) is popular, 2) is often a source compilers are tested on.

0 Kudos
AndrewC
New Contributor III
729 Views

- does Boost 1.65.1 have support for the 18.0 toolset? Each intel toolset needs to be explicitly supported.

- if it does, then open a Visual Studio 2017 x64 native tools command prompt

- type icl -v and check version

- run the boost build from that command prompt.

 

0 Kudos
Sergey_quixoticaxis_
729 Views

vasci_ wrote:

- does Boost 1.65.1 have support for the 18.0 toolset? Each intel toolset needs to be explicitly supported.

- if it does, then open a Visual Studio 2017 x64 native tools command prompt

- type icl -v and check version

- run the boost build from that command prompt.

  1. I don't know if it is explicitly supported. I managed to build the libraries I need with toolset=intel-18.0-vc14 (and b2 didn't tell me that it can't understand toolset which is the case for, for example, intel-19.0)
  2. Native VS2017 x64 command prompt does not have icl in the path. But Boost (according to Intel papers) should be build using Intel environment.

It's not too important for me because I already have all compiled libraries but still.

0 Kudos
Reply