-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
No support for msvc-toolset 14.4x (VS 2022, 17.10.x) #914
Comments
Related issue on Microsoft Workaround that fixes it for me Install MSVC v141 - VS 2017 C++ x64/x86 build tools (v14.16) |
AFAIK a standard installation of Visual Studio only keeps the latest MSVC runtime, so you will always run into this issue if you update to version 17.10 because this version ships with MSVC runtime 14.4x. The best workaround is to install a MSVC runtime 14.3 in parallel for your Visual Studio 17.10, Interestingly, |
@sodevel I am confused about the runtime- and toolset-version. |
All this versioning is quite confusing, to use a common naming, i am going to use the names from this website https://reactos.org/wiki/Visual_Studio_Versions. Before However, Edit: After re-reading your initial post i figured out i apparently described the same thing, just with more numbers. But i still don't understand what you changed, your link shows how support for a new |
Hey @sodevel , I do not have such an insight knowledge about |
I am also just a regular user and these are my observations, i only got some extra explanations for these from comments inside As an alternative you can build boost with CMake, the maintainers of the CMake build system and winapi library just made the required additions so that a CMake-build can act as a drop-in replacement for a b2-build (at least a rather default build of boost, maybe some configuration options are not available). |
The --- boost_1_82_0/tools/build/src/tools/msvc.jam.orig 2023-04-10 09:48:06.000000000 -0400
+++ boost_1_82_0/tools/build/src/tools/msvc.jam 2024-06-10 18:38:03.106212200 -0400
@@ -1119,6 +1119,14 @@
}
else
{
+ if [ MATCH "(14.4)" : $(version) ]
+ {
+ if $(.debug-configuration)
+ {
+ ECHO "notice: [generate-setup-cmd] $(version) is 14.4x" ;
+ }
+ parent = [ path.native [ path.join $(parent) "..\\..\\..\\..\\..\\Auxiliary\\Build" ] ] ;
+ }
if [ MATCH "(14.3)" : $(version) ]
{
if $(.debug-configuration) |
I can confirm that the fix from @ifilippov-pgi worked for us. I applied it to Boost v1.85 and built with Visual Studio 2022 v17.10.1. |
There seems to be a caveat if you are using autolinking, though. If you specify a toolset when calling b2.exe, vc170 and vc144 seem to break autolinking because linker will be looking for the vc143 tagged libraries even in VS 2022, 17.10. So you might want to make sure to use Probably some additional updates are needed to the boost headers now that Visual Studio and its toolset versions started to diverge. |
the patch from @ifilippov-pgi seems to works on our case too, with boost 1.83 build with MSVC 1940 (14.4). |
Looks like this was already fixed in the b2 build system, see bfgroup/b2#394 |
I can confirm it's fixed by |
how to employ |
For some reason when I try the downloaded 1.85.0 zip release file b2.exe on me says no to everything and I have all the major versions of VS installed including:
|
I have the same problem |
Whatever your problem is, it is unrelated to this issue, this issue is about |
Good fix for the boost 1.85 with MSVC 17.10.5 |
I am having the exact same issue on Windows 10 with Visual Studio 17.11.2 |
Use Boost 1.86.0 and your issue is gone |
Couldn't do that because OpenUSD doesn't support it, but I noticed Boost 1.86.0 itself compiles with no issue 👍 |
This issue does not happen if one updates the Visual Studio version from e.g. 17.8 to 17.10. It happens if Visual Studio 17.10 is the only Visual Studio version which has been installed on the system. See end of this comment for further details.
As the title says boost is not compilable with Visual Studio 17.10.x. This is most likely due to the minor version of the msvc-compiler and -toolst which jumps from version 14.3x (VS 17.8.x) up to 14.4x (VS 17.10.x). This is described by Microsoft in msvc-toolst-minor-version-number-14-40.
I think that a commit similar to Add VC143, aka VS2012, aka cl.exe 17.x toolset. might fix this.
If one updates Visual Studio from e.g. 17.8 to 17.10 this problem will not occur because on the system there still will be the msvc-toolset 14.3x from the previous Visual Studio Version. If one completely deinstalls previous Visual Studio versions before the installation of Visual Studio 17.10 or one has an empty system and Visual Studio 17.10 is the first and only version which is installed then there will only be msvc-toolset version 14.4x and the compilation will fail.
The text was updated successfully, but these errors were encountered: