在其他项目(vs2017)拿过来放到自己电脑上vs2015编译,出现了错误,如:
错误类型1:
Visual Studio 2017 无法引用 windows.h wincon.h 的解决办法
解决方法:
由于我使用的是vs2015,(或使用vs2017出现该问题是因为在线安装VS2017时未安装SDK),解决办法是在添加Include包含 和 lib库 目录。
右键解决方案中的项目名 | Attribute | VC++ Direction 界面添加。
这里也可以修改SDK版本8.1 to 10.***
在VC++目录里面的包含目录和库目录分别配置SDK的路径即可。
包含目录的路径,这里以SDk版本10.0.15063.0为例,添加路径如下:
C:\Program Files (x86)\Windows Kits\10\Include\10.0.15063.0\shared
C:\Program Files (x86)\Windows Kits\10\Include\10.0.15063.0\ucrt
C:\Program Files (x86)\Windows Kits\10\Include\10.0.15063.0\um
C:\Program Files (x86)\Windows Kits\10\Include\10.0.15063.0\winrt
库目录的路径,添加路径如下:
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.15063.0\ucrt\x86
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.15063.0\um\x86
如果SDK相同,上面的路径直接复制过去即可。
以上参考:https://blog.csdn.net/baisedeqingting/article/details/78437017
我电脑上的路径为:
包含目录
C:\Program Files (x86)\Windows Kits\8.1\Include\shared
C:\Program Files (x86)\Windows Kits\8.1\Include\um
C:\Program Files (x86)\Windows Kits\8.1\Include\winrt
C:\Program Files (x86)\Windows Kits\10\Include\10.0.10150.0\ucrt
库目录
C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um\x64
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10150.0\ucrt\x64
错误类型2:
error C3861: “printf”: 找不到标识符
atoi出现未定义
等等
已经包含了studio.h,但是还是报错,试过直接把stdio.h添加到项目里面,依然无效。
解决方法1:
VS2017因为生命开发周期(SDL)检查,放弃了原不安全的scanf/printf等函数,而改用printf_s/scanf_s
若你只是初学C/C++,不建议用VS2017的.个人建议用dev-cpp
VS2017不适合用来学习,而是用来实际开发的
追问:
。。看来又得换,但是我改成printf_s试了下好像还是同样的提示?
追答:
你确定是C++控制台工程?且必须有stdio.h
追问:
是啊。。新建的时候是控制台工程,而且能够打开stdio.h
追答:
正常控制台程序,连stdio.h都不用的
以上参考:http://www.lovfp.com/xuexizhongxin/153803367321/1538033673210081.html
解决方法2:
其实按照错误类型1的方法,把这些依赖包和库加进去,这个问题也就解决了。
所以归根结底,就是添加Include包含 和 lib库 目录。