Re: [boost] Building Boost 1.69 with Visual Studio 1.69
"Paul A. Bristow via Boost-build" <[email protected]> Tue, 26 Mar 2019 15:13:23 -0000
| Newsgroups | gmane.comp.lib.boost.build,gmane.comp.lib.boost.devel |
|---|---|
| Message-ID | <[email protected]> |
> -----Original Message----- > From: Boost [mailto:[email protected]] On Behalf Of Steven Watanabe via Boost > Sent: 25 March 2019 18:59 > To: [email protected] > Cc: Steven Watanabe > Subject: Re: [boost] Building Boost 1.69 with Visual Studio 1.69 > > AMDG > > On 3/25/19 12:09 PM, Paul A. Bristow via Boost wrote: > > > > <snip> > > using msvc > > : # Version VS 2019 preview > > 14.2 > > : # compiler location (Note that the file layout completely changed recently) > > "C:/Program Files (x86)/Microsoft Visual Studio/2019/Preview/VC/Tools/MSVC/14.20.27508/bin/Hostx64/x64/cl.exe" > > : # Options > > <define>BOOST_CONFIG_SUPPRESS_OUTDATED_MESSAGE # Needed if you are working on develop or master ahead of > the latest release. > > ; > > I recommend adding <setup>"C:/path/to/vcvarsall.bat" > I don't know whether this will fix everything, but > the immediate cause of the errors that you're seeing > is that the location of vcvarsall.bat is version dependent > and Boost.Build fails to find it. Correct, as ever. Sadly, hoping it would 'Just work', as others suggested with user-config.jam using msvc : 14.1 ; using msvc : 14.2 ; didn't work for me. The log looked confused about both cl.exe and vsvarsall.bat. (I did a --clean and --reconfigure first to make sure) So, taking Steven's advice, I have now specified both compilers and both setups in my user-config.jam thus: using msvc : # Version VS 2017 14.1 : # Compiler location "C:/Program Files (x86)/Microsoft Visual Studio/2017/Professional/VC/Tools/MSVC/14.14.26428/bin/Hostx64/x64/cl.exe" : # Options <setup>"C:/Program Files (x86)/Microsoft Visual Studio/2017/Professional/VC/Auxiliary/Build/vcvarsall.bat" <define>BOOST_CONFIG_SUPPRESS_OUTDATED_MESSAGE # Needed if you are working on develop or master ahead of the latest release. ; # Used, for example, thus # b2 toolset=msvc-14.1 using msvc : # Version VS 2019 Preview 14.2 : # Compiler location "C:/Program Files (x86)/Microsoft Visual Studio/2019/Preview/VC/Tools/MSVC/14.20.27508/bin/Hostx64/x64/cl.exe" : # Options <setup>"C:/Program Files (x86)/Microsoft Visual Studio/2019/Preview/VC/Auxiliary/Build/vcvarsall.bat" <define>BOOST_CONFIG_SUPPRESS_OUTDATED_MESSAGE # Needed if you are working on develop or master ahead of the latest release. ; I:\boost\libs\hello_boost\example>b2 -a address-model=64 toolset=msvc-14.1,msvc-14.2 -d2 --debug-configuration > both_cl_setup.log runs with two promising messages: notice: will use 'C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64\cl.exe' for msvc, condition <toolset>msvc-14.1 notice: will use 'C:/Program Files (x86)/Microsoft Visual Studio/2019/Preview/VC/Tools/MSVC/14.20.27508/bin/Hostx64/x64/cl.exe' for msvc, condition <toolset>msvc-14.2 and two runs of vcvarsall.bat as expected. An extract from the log (zip attached) from this command is not quite as I would expect with a confusing/confused warning. # notice: will use 'C:/Program Files (x86)/Microsoft Visual Studio/2019/Preview/VC/Tools/MSVC/14.20.27508/bin/Hostx64/x64/cl.exe' for msvc, condition <toolset>msvc-14.2 # Used, for example, thus # b2 toolset=msvc-14.2 notice: Loading user-config configuration file 'user-config.jam' from 'C:/Users/Paul'. notice: [msvc-cfg] msvc-14.1 detected, command: 'C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64\cl.exe' warning: toolset msvc initialization: warning: can not find user-provided command 'C:/Program Files (x86)/Microsoft Visual Studio/2017/Professional/VC/Tools/MSVC/14.14.26428/bin/Hostx64/x64/cl.exe' warning: initialized from C:\Users\Paul\user-config.jam:101 warning: Did not find command for MSVC toolset. If you have Visual Studio 2017 installed you will need to specify the full path to the command, set VS150COMNTOOLS for your installation, or build from the 'Visual Studio Command Prompt for VS 2017'. notice: will use 'C:/Program Files (x86)/Microsoft Visual Studio/2017/Professional/VC/Tools/MSVC/14.14.26428/bin/Hostx64/x64/cl.exe' for msvc, condition <toolset>msvc-14.1 These two cl.exe listed above are the same file: 'C:/Program Files (x86)/Microsoft Visual Studio/2017/Professional/VC/Tools/MSVC/14.14.26428/bin/Hostx64/x64/cl.exe' 'C:/Program Files (x86)/Microsoft Visual Studio/2017/Professional/VC/Tools/MSVC/14.14.26428/bin/Hostx64/x64/cl.exe' but bjam uses the specified on just the same. Automatically finding msvc cl.exe and specifying it colliding? but both pass OK :-) Hello Boost! Platform: Win32 Compiler: Microsoft Visual C++ version 14.1 STL : Dinkumware standard library version 650 Boost : 1.70.0 _MSC_FULL_VER = 191627027 Hello Boost! Platform: Win32 Compiler: Microsoft Visual C++ version 1920 STL : Dinkumware standard library version 650 Boost : 1.70.0 _MSC_FULL_VER = 192027508 which looks plausible. _MSC_FULL_VER though it doesn't say 14.2 but 1920 instead. No doubt this will change when the 'official' release is out in several days' time. I'll try something more adventurous next ;-) Thanks Paul --- Paul A. Bristow Prizet Farmhouse Kendal UK LA8 8AB +44 (0) 1539 561830 _______________________________________________ Unsubscribe & other changes: https://lists.boost.org/mailman/listinfo.cgi/boost-build
both_cl_setup.7z
(application/octet-stream, 4.2 KB) - not displayed