关于新版VS2017不能引用 stdio.h iostream 头文件等问题

本文详细介绍了Visual Studio 2017更新后,自动生成的C++控制台程序无法找到iostream头文件且无法编译的问题解决方法。包括修改编译环境为x64、调整项目属性添加包含目录和库目录,以及解决因引入opencv库导致的编译错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Visual Studio 2017更新后出现自动生成的C++控制台程序无法找到iostream头文件而且无法编译问题的解决

1.首先看一下问题:(学习的过程中不断在更新解决该问题的方法,第4步从根本解决了问题)

å¦ä¸å¾æç¤ºï¼èªå¨çæçç¨åºé½æ æ³æ§è¡

2.该问题出现在我们选择的编译环境,vs2017之前版本(2018年10月之前使用的版本)都是默认编译环境为x86,而之后突然将以前的预编译头文件改为"pch.h",看着不爽,感觉不如以前的"stdafx.h"。因此只需要修改编译环境为x64即可。但是还是需要在x86下编译的话解决方法请看3.

 

ä¿®æ¹åæ­£å¸¸çæªå¾

3.在x86下编译通过的解决方法是:修改项目属性添加包含目录和库目录:
进入项目属性设置

å¨è¿éæå¥å¾çæè¿°

点击C++目录,编辑包含目录,可能出问题的vs里的包含目录不对(我的另一台有问题的电脑上的vs包含的目录和这个不一样),因此我就索性将下面没问题的包含目录复制后粘贴在有问题的VS的包含目录里,但是不要删除以前原有的。要复制的内容为$(WindowsSdkDir)include
$(FrameworkSDKDir)\include
$(VC_IncludePath)
$(WindowsSDK_IncludePath)

 

å¨è¿éæå¥å¾çæè¿°

å¨è¿éæå¥å¾çæè¿°

像这样一项一项地添加进去。
添加库目录同样的方法,下面只给出添加项。由于时间久了我忘记当初添加的是哪些项,所以全部给出:
$(WindowsSdkDir)lib
$(FrameworkSDKDir)\lib
$(VC_LibraryPath_x86)
$(WindowsSDK_LibraryPath_x86)
$(NETFXKitsDir)Lib\um\x86

由于我也是VS的初学者,并没有完全搞清楚VS的功能和配置,所以这么做可能不一定所以的机器都适用,但是我的机器是用这种简单粗暴的方式搞定的。
4.很重要很重要:
安装完opencv的朋友呢可能都会出现这样的问题,因为引入了opencv库后可能opencv的那些东西都变成了继承项,但是又不知道该如何删除他,从而导致目前这种最简单的程序都无法编译通过的现象。下面给出删除继承值的方法(更新于2019年4月7日):
如下图所示,我也是在一个博文里看到的

å¨è¿éæå¥å¨è¿éæå¥å¾çæè¿°å¾çæè¿°

然后给出博文的链接:
http://www.cppblog.com/jack-wang/archive/2014/03/03/206023.html

当然了,我在上面说的那个方法也实用用,但是没有解决根本问题,经过上面的步骤后我们需要在Include中间添加以下两个东西:包含了一下内容后vs就可以找得到我们常用的头文件了
$(VC_IncludePath)
$(WindowsSDK_IncludePath)
在LIB中间添加一下内容:
$(VC_LibraryPath_x86)
$(WindowsSDK_LibraryPath_x86)
然后保存退出,编译程序就可以通过了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值