visual studio相关error

visual studio 各个版本之间混用的时候问题很多。

windows sdk版本:

windows api的版本,也就是系统版本,一版win10的系统,如果默认情况下不去安装win8 sdk,那么就无法运行调用win8 sdk 的程序

如何查看win sdk,C:\Program Files (x86)\Microsoft SDKs\Windows,

下面文件夹就是对应的sdk版本,一般开发者为了兼容使用老的vs创建的调用老的win sdk的程序,都需要安装老的sdk版本

否则会出现错误:找不到windows sdk版本8.1

安装方法:

1.启动vs2017安装程序,然后选择c++,右边可以勾选想安装的组件

2.工具->更新工具和功能

平台工具集:

 MSBuild 平台工具集功能提供特定于驱动程序开发的工具和库,也就是vs这个软件的工具集合,每个版本的vs都有自己的工具集,平台工具集就是MSBuild所用的工具 

V100之后的版本在C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0目录下,V100(包括V100)之前版本在C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms目录下。

每个项目都可以设置自己的工具集,高版本vs打开低版本项目的时候,需要修改项目的工具集为新的工具集,向下兼容,新的工具集和调试老的工具集的项目。

老的vs打开新的vs,会提示找不到工具集,因为老的vs默认是不会安装新的vs 的平台工具集的。

项目->属性->常规,可以修改平台工具集和使用的win sdk版本。

VS各版本对应的工具集版本号如下:

-Visual Studio 2015: V140

-Visual Studio 2013: V120

-Visual Studio 2012: V110

-Visual Studio 2010: V100

-Visual Studio 2008: V90

-Visual Studio 2005: V80

-Visual Studio 2003: V71

-Visual Studio 2002: V70

-Visual Studio 6: V60

 

最简单的解决办法:

右键项目->重定项目目标,选择最新的平台


相关错误

1.运行老版本vs项目,生成exe,运行,提示:由于找不到msvcp120D,无法继续执行代码。

原因是缺少了相应的dll,带D 的是debug dll,不带D的是release dll.安装windows运行库会生成相应的release  dll到C:\Windows\System32或者systemwow64中。

分别对应32位系统和64位系统,两者是有区别的。

exe是通过2013debug方式生成的,所以会使用msvcp120D

删除vs2013后,msvcp120D会自动从系统删除,

再安装vs2017,会自动将msvcp140D 添加到系统中。所以就找不到msvcp120D了。

windows运行环境安装的都是release 版本的dll,不会安装 debug版本

解决办法1:下载dll,放到system32或者64中。

https://www.jb51.net/dll/

解决办法2:重新编译和生成exe,使用140来生成,或者120 release的方式。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值