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

Trying to build boost 1.65.1

DLake1
New Contributor I
1,558 Views
Trying to build boost 1.65.1 with compiler 17 for visual studio 2017 and I'm getting lots of this: compile-c-c++ C:\Users\Administrator\Documents\Visual Studio 2017\boost_1_65_1\boost\bin.v2\libs\wave\build\intel-vc14-win-17.0\debug\address-model-64\link-static\runtime-link-static\threading-multi\cpplexer\re2clex\cpp_re.obj cpp_re.cpp C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.10.25017\include\xtr1common(100): error: "is_same_v" is not a function or static data member constexpr bool is_same_v = is_same<_Ty, _Uty>::value; ^ C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.10.25017\include\xtr1common(100): error: "constexpr" is not valid here constexpr bool is_same_v = is_same<_Ty, _Uty>::value; ^ C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.10.25017\include\xtr1common(243): error: "is_integral_v" is not a function or static data member constexpr bool is_integral_v = is_integral<_Ty>::value; ^ C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.10.25017\include\xtr1common(243): error: "constexpr" is not valid here constexpr bool is_integral_v = is_integral<_Ty>::value; ^ C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.10.25017\include\xtr1common(278): error: "is_floating_point_v" is not a function or static data member constexpr bool is_floating_point_v = is_floating_point<_Ty>::value; ^ compilation aborted for libs\wave\src\cpplexer\re2clex\cpp_re.cpp (code 4) call "C:\Users\ADMINI~1\AppData\Local\Temp\b2_intel-win_17.0_iclvars_intel64 vs2015.cmd" > nul icl @"C:\Users\Administrator\Documents\Visual Studio 2017\boost_1_65_1\boost\bin.v2\libs\wave\build\intel-vc14-win-17.0\debug\address-model-64\link-static\runtime-link-static\threading-multi\cpplexer\re2clex\cpp_re.obj.rsp" ...failed compile-c-c++ C:\Users\Administrator\Documents\Visual Studio 2017\boost_1_65_1\boost\bin.v2\libs\wave\build\intel-vc14-win-17.0\debug\address-model-64\link-static\runtime-link-static\threading-multi\cpplexer\re2clex\cpp_re.obj... Sorry for my bluntness I was annoyed that I lost my original post because I didn't enter a title, I cant do anything with my project till I get this fixed.
0 Kudos
1 Solution
Ivan_K_Intel
Employee
1,560 Views

CommanderLake,

Thank you for reporting the issue, we will work with the boost community to patch the issue in the future versions.
To add msvc 14.1 support into boost you need to modify line 478 of tools/build/src/tools/intel-win.jam file. Instead of this line:

.iclvars-17.0-supported-vcs = "14.0 12.0 11.0 10.0" ;

Add these ones:

.iclvars-17.0-supported-vcs = "14.1 14.0 12.0 11.0 10.0" ;
.iclvars-version-alias-vc14.1 = vs2017 ;

After that you will be able to use toolset intel-17_0-vc14.1.

View solution in original post

0 Kudos
6 Replies
Judith_W_Intel
Employee
1,560 Views

 

Shouldn't this:

call "C:\Users\ADMINI~1\AppData\Local\Temp\b2_intel-win_17.0_iclvars_intel64 vs2015.cmd" > nul

be vs2017 not vs2015?

I see the compilation errors if I explicitly specify MSVC++ 2015 compatibility mode (i.e. use /Qvc14) but not if I explicitly specify MSVC++ 2017 mode (/Qvc14.1). So the compiler is thinking your reference compiler is MSVC++ 2015 not 2017. variable templates were not supported in VS2015 until update 2 so we don't support them unless your reference compiler is also MSVC++ 2015 Update 2 or later.

Judy

0 Kudos
DLake1
New Contributor I
1,560 Views
I get the same output with /Qvc14.1 and I dont know how to specify a toolset of 14.1 when building boost if I specify "toolset=intel-17.0" I get the above, if I specify "toolset=intel" I get: error: No Intel compiler version found! if I specify "toolset=intel-17.0-14.1" I get: error: Supported msvc versions not known for intel 17.0-14.1
0 Kudos
JenniferJ
Moderator
1,560 Views

You can find out how to add compiler options from the boost site. start from here: http://www.boost.org/build/doc/html/bbv2/overview/configuration.html

Jennifer

0 Kudos
DLake1
New Contributor I
1,560 Views

That only tells me how to specify the compiler version (17) not the toolset version (14.1)?

If i specify toolset=intel-17.0-vc141 it gives me: error: msvc 141 not supported for intel toolset version 17.0

0 Kudos
Ivan_K_Intel
Employee
1,561 Views

CommanderLake,

Thank you for reporting the issue, we will work with the boost community to patch the issue in the future versions.
To add msvc 14.1 support into boost you need to modify line 478 of tools/build/src/tools/intel-win.jam file. Instead of this line:

.iclvars-17.0-supported-vcs = "14.0 12.0 11.0 10.0" ;

Add these ones:

.iclvars-17.0-supported-vcs = "14.1 14.0 12.0 11.0 10.0" ;
.iclvars-version-alias-vc14.1 = vs2017 ;

After that you will be able to use toolset intel-17_0-vc14.1.

0 Kudos
DLake1
New Contributor I
1,560 Views

Perfect! Thanks, its working now.

0 Kudos
Reply