vs多版本安装及环境配置

VisualStido and plateform toolset Version

目录

VisualStido and plateform toolset Version. 1

一.VC与VS版本的对应关系表... 1

二.如何修改目标框架和平台工具集... 1

1.更改目标框架... 2

2. 更改平台工具集... 2

三.使用 Visual Studio 中的本机多目标来生成旧项目... 3

1.       如何使用 Visual Studio 中的本机多目标... 3

2.       安装较旧版本的 Visual Studio 工具集... 3

3.       下载安装VS2017,以兼容旧版本开发。... 3

4.单独下载SDK的位置... 5

四.查错E1696无法打开 源 文件 "afxwin.h". 6

五.常规项目属性解释... 8

一.VC与VS版本的对应关系表

VC

VS

兼容

Plateform toolset

VC6

Visual Studio 6

VC7

Visual Studio 2003

VC8

Visual Studio 2005

VC9

Visual Studio 2008

VC10

Visual Studio 2010

VC11

Visual Studio 2012

Vs2015以上完全支持,vs2013基本支持,vs2012部分支持,vs2010及以下不支持。

V110

VC12

Visual Studio 2013

V120

VC14

Visual Studio 2015

Vs2017完全支持,vs2015基本支持,vs2013部分支持。

V140

VC15

Visual Studio 2017

V141

VC16

Visual Studio 2019

V142

VC17

Visual Studio 2022

Vs2017基本支持,vs2015部分支持

V143

二.如何修改目标框架和平台工具集

如何:修改目标框架和平台工具集 | Microsoft Learn

可以编辑 Visual Studio C++ 项目文件以面向不同版本的 C++ 平台工具集。

 .vcxproj中编辑值,可以对每个编译目标使用相同的代码库。

平台工具集包括: 编译器 (cl.exe) 和链接器 (link.exe) 以及 C/C++ 标准库。

在更改目标框架 Framework 时,也要将平台工具集更改为支持该 Framework 的版本。

1.更改目标框架

a. Visual Studio 中,在解决方案资源管理器中,选择你的项目。 在菜单栏上,打开项目菜单并选择卸载项目 此命令将为你的项目卸载项目文件 (.vcxproj)

b. 在菜单栏上,依次选择 文件  打开  文件   打开文件 对话框中,导航到项目文件夹,然后打开项目文件 (.vcxproj)

c. 在项目文件中,找到目标 Framework 版本的条目。 例如,如果你的项目设计为使用 .NET Framework 4.5,请在

 <TargetFrameworkVersion>v4.5 元素的

  元素中找到 <Project

如果  元素不存在,你的项目使用 .NET Framework也无需进行更改。

将值更改为需要的 Framework 版本,例如 v3.5 v4.6。保存更改并关闭编辑器。

 “解决方案资源管理器” 中,打开项目的快捷菜单,然后选择 “重新加载项目” 

若要验证更改,请在菜单栏上选择项目”> “属性以打开项目属性页对话框。 在该对话框中,选择配置属性”>“常规属性页。 验证“.NET 目标 Framework 版本是否显示了新的 Framework 版本。

2. 更改平台工具集

a. Visual Studio 中,在菜单栏上选择项目”> “属性以打开项目属性页对话框。

b. 属性页对话框顶部,打开配置下拉列表,然后选择所有配置

c. 在该对话框中,选择配置属性”>“常规属性页。

d. 在属性页中,选择平台工具集,然后从下拉列表中选择需要的工具集。 例如,如果已安装了 Visual Studio 2017 工具集,请选择“Visual Studio 2017 (v141)”以用于项目。

e. 选择确定按钮以保存更改。

三.使用 Visual Studio 中的本机多目标来生成旧项目

使用 Visual Studio 中的本机多目标来生成旧项目 | Microsoft Learn

 Visual Studio 支持项目的本机多目标和往返。 本机多目标是一种功能,即最新的 IDE 使用 Visual Studio 旧版本安装的工具集进行生成。 往返是一种功能,即最新的 IDE 可加载由 IDE 旧版本创建的项目,而无需对项目进行任何更改。

使用较旧的工具集时,可以利用许多最新的 IDE 功能,但不能利用 C++ 编译器、库和生成工具中的最新改进。 也有一些 IDE 功能与旧的工具集不兼容。 

  1. 如何使用 Visual Studio 中的本机多目标

并行安装 Visual Studio 和较旧版本后,在 Visual Studio 的新版本中打开现有项目。 加载项目时,Visual Studio 会询问是否要对其进行升级以使用最新的 C++ 编译器和库。 由于希望项目保留旧版编译器和库,因此选择取消按钮。

Visual Studio 会持续提示升级项目。 为避免在每次加载项目时看到升级对话框,可以在你的项目中或在项目导入的 .props  .targets 文件中定义以下属性:

<VCProjectUpgraderObjectName>NoUpgrade

如果想升级项目,必须删除此属性。

如果选择不升级,Visual Studio 不会对解决方案或项目文件进行更改。 生成项目时,生成的二进制文件与使用旧版本的 Visual Studio 生成的二进制文件完全兼容,因为 Visual Studio 使用相同的 C++ 编译器并链接旧 IDE 附带的相同库。 这也是为什么如果选择取消,升级对话框会警告你保留安装的较旧的 Visual Studio 版本。

  1. 安装较旧版本的 Visual Studio 工具集

你可能会有无法或不打算升级的旧版 Visual Studio C++ 项目。 若要生成它,需要与项目匹配的平台工具集版本。 为了获得工具集,可以安装所需版本的免费 Visual Studio Community Express 版。 Visual Studio 2008 开始,每个版本的 Visual Studio 都可以安装从当前 Visual Studio 面向该版本时所需的编译器、工具和库。 搜索 Microsoft 下载中心以查找和下载 Visual Studio 的特定版本。 请确保在安装过程中选择 C++ 安装选项。 安装完成后,运行该版本的 Visual Studio 以安装任何更新。 同时查找可能需要的任何 Windows 更新更改。 此更新检查过程可能需要重复多次以获取每个更新。

有关当前可用的下载,请参阅下载较旧的 Visual Studio 软件

安装这些产品后,属性页对话框中的平台工具集属性下拉列表自动更新为显示可用工具集 现在,可以使用最新版 Visual Studio 生成使用较旧版本的工具集的项目:无需转换或升级。

  1. 下载安装VS2017,以兼容旧版本开发。

Visual Studio: 面向软件开发人员和 Teams 的 IDE 和代码编辑器

登陆

https://my.visualstudio.com/Downloads?q=2017

选择[Trial] Visual Studio Professional 2017 (version 15.0)

下载,安装 选择的plateform toolset V141

安装过后重新用2019打开项目.sln

SDK版本错误

重新打开安装软件,选择Windows 8.1 SDK

安装后,不再报SDK的错

4.单独下载SDK的位置

Free: Download the Windows 8.1 SDK | Microsoft Learn

Free: Download the Windows 8.1 SDK

Windows SDK and emulator archive | Microsoft Developer

四.查错E1696无法打开 源 文件 "afxwin.h"

参考关于VS项目属性: Target Platform Version 和 Platform ToolSet - BensonLaur - 博客园

c++ - Visual Studio 2017 can't find windows.h - Stack Overflow

This is legitimate problem when migrating old project targeted for Windows XP into VS2017. I have all legacy SDKs in VisualStudio 2017 installer, and none of that fixed VS not finding essential includes such as . In my case the project was using v120 toolset from VS2013, which is superseded by v140_xp in newer VS.问题的产生,是因为v140压制了v120,新版本的路径替代了低版本的文件路径。

I did the following to resolve the problem:

  • Open project properties, go to VC++ Directories, for 'Include Directories' and for 'Library Directories', choose <Inherit from parent or project defaults>. This will remove your additional paths.

 

  • Click 'Apply'. This will reset include path to something like $(VC_IncludePath_x86);$(WindowsSdk_71A_IncludePath_x86) (will vary for SDKs).
  • Re-add your extra paths here, or better yet - under C/C++/General -> Additional Include Directories and Linker/General -> Additional Library Directories.

还是找不到文件。于是在目录F:\Program Files (x86)\Microsoft Visual Studio\2017\Professional下搜索afxwin.h,把它的路径添加进

上面的error解决。出现新的提示:

F:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.15.26726\atlmfc\lib\x86

解决上面的问题。

产生新的报错

查找到sdk中该dll的文件,复制到生成的debug exe文件目录下,程序即可执行

五.常规项目属性解释

General Property Page (Project) | Microsoft Learn

你可能感兴趣的:(c++,c#,microsoft,c++,windows)