最近在做一个vs平台下的C++ SOCKET网络编程,同学的电脑只有vs2010,于是先写好了大致框架。
又觉得没有代码提示的2010实在不方便,作死卸掉又装了vs2013。异常艰辛的过程开始了……
先说一下我遇到的几个问题:
(vs蛋疼的换版本安装以及删掉所有相关组组件在此就不提了)
Q1:ERROR:The build tools for v140 (Platform Toolset = 'v140') cannot be found.
A1:打开项目属性/常规/平台工具集/选择对应的版本。我选的是Visual Studio 2013(v120)
Q2: 但更改之后,紧接着报错fatal error C1083。 e.g.“fatal error C1083: 无法打开包括文件: “winreg.h”: No such file or directory”
A2: 我的解决方法是在计算机里进行搜索这些头文件,找到包含该头文件的目录(比如:C:\Program Files(x86)\Microsoft SDKs\Windows\v.7.1A\Include)并添加至“项目/属性/配置属性/(C/C++)/常规/附加包含目录”。(添加一个又会继续报错C1083,要有耐心,我不断添加了4.5次左右。)
Q3:C1083解决之后,依然报错LINK : fatal error LNK1104: 无法打开文件:kernel32.lib
A3:与刚刚类似:将C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib 添加至“项目/属性/配置属性/VC++目录/库目录“
Q4:紧接着出现 error link1158 无法运行rc.exe
A4:将第一步中平台工具集的版本由Visual Studio 2013(v120)改为Visual studio 2013 WindowsXP(v120_xp)
至此 解决方案就可以成功重新生成了。