What is the status of msvc with scons 4.5.2 #4412
Replies: 5 comments 4 replies
-
there's a table in the manpage now to try to sort this - look at MSVC_VERSION. Sorry can't paste link from this device. |
Beta Was this translation helpful? Give feedback.
-
Not sure where you found that information. If you're doing a vanilla MSVC 2022 install with 4.5.2 or above, I wouldn't expect you to have any issues. |
Beta Was this translation helpful? Give feedback.
-
No, we heavily depend on vswhere to find versions of msvc which it supports. The ability to support not just multiple concurrent msvc installs but also multiple toolsets under a single msvc install undoubtedly complicated things, but it should be pretty well handled now, at the cost of greater selection complexity than in old SCons versions. Edit - that is, greater complexity in selecting things that are "not default". The default case is still simple. |
Beta Was this translation helpful? Give feedback.
-
Yes. Indeed, you shouldn't have to specify the version at all to get the newest compiler/toolset. |
Beta Was this translation helpful? Give feedback.
-
Some recommendations and examples of using older msvc toolsets with recent visual studio installations are given below.
Yes, this is possible.
Yes, this is possible. However, the SDK version ( Msvc batch file arguments with direct scons construction variable implementations include:
The table above is taken from the internal visual studio documentation and notes: Msvc batch file errors due to user-specified arguments ( Use of the
Your example above can be specified using construction variables as:
Unlike the SDK version which requires specification of the full version number, the msvc toolset version can be specified with a partial version number. The msvc batch files evaluate the toolset version number specifications in descending order and the first match is selected. For example, the following are equivalent when
The minimum msvc toolset version specifications for the latest version of each major build tools version installed in VS2022 are:
At present, additional supported msvc arguments are not taken into account when selecting the visual studio instance. This means that a visual studio installation is selected and then the arguments are applied to the selected msvc instance which may result in errors depending on installed features. The default visual studio instance (i.e., the most recently released visual studio) is used when
The above will be successful for:
The above will fail for:
|
Beta Was this translation helpful? Give feedback.
-
Hello,
We're currently using scons 4.0.1 in conjunction with Visual Studio 2017. To create the environment, we use:
We plan to upgrade both our compiler to 2022 and scons to version 4.5.2. From the Issues pages, I gathered that post-2017, we can't rely on
vswhere
to determine the installed version. What's the status of 4.5.2 in this regard? Is the following approach suitable for setting up my environment?Additionally, I'm trying to wrap my head around the toolset versioning in relation to Visual Studio versions. Specifically, does 14.3 correspond to Visual Studio 2022?
Thank you in advance.
Beta Was this translation helpful? Give feedback.
All reactions