Visual c ++无法打开包含文件'iostream'

时间:2012-07-29 23:25:09

标签: c++

我是c ++的新手。我刚开始!我尝试了visual c ++ 2010 Express版本的代码,但是我收到了以下代码错误消息。

------ Build started: Project: abc, Configuration: Debug Win32 ------
  ugo.cpp
c:\users\castle\documents\visual studio 2010\projects\abc\abc\ugo.cpp(3): fatal error C1083: Cannot open include file: 'iostream': No such file or directory
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

这是代码

// first.cpp -- displays a message


#include <iostream>   // a PREPROCESSOR directive

int main(void)        // function header
{             // start of a function body
  using namespace std;
  cout << "Come up and C++ me sometime.\n";  // message
  // start a new line
  cout << "Here is the total: 1000.00\n";
  cout << "Here we go!\n";
  return 0;
}

13 个答案:

答案 0 :(得分:12)

替换

#include <iostream.h>

using namespace std;

#include <iostream>

答案 1 :(得分:9)

您应该检查的一些事项:

  • 检查您的VS版本中的include文件夹( in“C:\Program Files\Microsoft Visual Studio xx.x\VC\include”)检查您所包含的文件iostream,确保它在那里 )。

  • <Project Name> > Properties > Configuration Properties > VC++ Directories > Include Directories中检查您的项目包含目录 - (它应该如下所示: $(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSdkDir)include;$(FrameworkSDKDir)\include;

    < / LI>
  • 确保为此代码选择了正确的项目 (File > New > Project > Visual C++ > Win32 Console Application

  • 确保代码文件中没有<iostream.h>,VS不支持(在同一个项目中,检查其他代码文件,.cpp和。 h文件 <iostream.h> 并将其删除)。

  • 确保您的帐号中没有多个main()功能 项目代码文件(在同一个项目中,检查 main() 函数的其他代码文件,.cpp和.h文件并将其删除或替换为其他名称)。

您可以尝试构建的一些内容:

  • using namespace std;功能中排除main()并将其放入 在include指令之后。
  • 使用std::cout而不using namespace std;

答案 2 :(得分:3)

我在VS 2015中遇到了同样的问题。它看起来像VS 2010,之后您需要在所有项目中加入#include "stdafx.h"

#include "stdafx.h"
#include <iostream>
using namespace std;

以上对我有用。以下没有:

#include <iostream>
using namespace std;

这也失败了:

#include <iostream>
using namespace std;
#include "stdafx.h"

答案 3 :(得分:2)

您很可能在Properties-&gt; VC ++目录 - &gt;包含目录中缺少 $(IncludePath)。添加此项应该会使iostream和其他人再次可见。您可能在设置程序时错误地删除了它。

答案 4 :(得分:1)

您的编译器及其周围安装的资源可能不完整。我建议重新安装你的编译器:它应该在那之后工作。

答案 5 :(得分:1)

当我创建一个“空白”时,我遇到了这个错误。 Visual Studio 2015中的控制台应用程序。我重新创建了应用程序,留下了空白&#39;框未选中,它添加了所有必要的库。

答案 6 :(得分:0)

如果在VC ++项目属性表中正确引用了include目录 - &gt;配置属性 - &gt; VC ++目录 - &gt;包含目录。路径在宏$(VC_IncludePath)中引用 在我的VS 2015中,评估为: &#34; C:\ Program Files(x86)\ Microsoft Visual Studio 14.0 \ VC \ include&#34;

using namespace std;
#include <iostream> 

这是为我做的。

答案 7 :(得分:0)

Microsoft Visual Studio很有趣当你使用安装程序时必须选中许多选项以绕过.netframework(稍微)以制作更多c ++而不是c sharp应用程序,例如dekstop开发下的clr选项...在visual studio安装程序....区别是c ++ win32控制台项目或c ++ CLR控制台项目。 那么差异是什么?好吧,我不打算列出CLR包含的所有文件,但是因为大多数好的c ++核心都在Linux中......所以CLR允许你绕过很多windows .netframework b / c visual studio真正意味着你用C sharp制作应用程序。

这是一个C ++ win32控制台项目!

#include "stdafx.h"
#include <iostream>
using namespace std;
int main( )
{
cout<<"Hello World"<<endl;
return 0;
}

现在是一个c ++ CLR控制台项目!

#include "stdafx.h"

using namespace System;

int main(array<System::String ^> ^args)
{
Console::WriteLine("Hello World");
return 0;
}

两个程序都做同样的事情...... CLR只是看起来更加框架化的类重载方法,所以微软可以很好地拥有它自己的庞大的库你应该熟悉自己w /如果这么倾向。 https://msdn.microsoft.com/en-us/library/2e6a4at9.aspx

您将从调试中学到的其他内容,以便添加以避免错误

#ifdef _MRC_VER
#define _CRT_SECURE_NO_WARNINGS
#endif

答案 8 :(得分:0)

快速修复小程序:

添加:#include <cstdlib>

答案 9 :(得分:0)

在我的情况下,我的VS2015安装时没有选择C++ package,而VS2017则安装了C++ package。如果我使用VS2015,打开的C ++项目将显示此错误,而使用VS2017将没有错误。

答案 10 :(得分:0)

请确保您已安装带有C ++安装程序的台式机开发 d 。我遇到了同样的问题,因为我只安装了通用Windows平台开发。

答案 11 :(得分:0)

如果您创建了名为 IncludePath 的环境变量,请尝试将其重命名为其他名称。

此名称将覆盖项目属性内的 $(IncludePath)

答案 12 :(得分:-1)

    // first.cpp -- displays a message


#include <iostream>   // a PREPROCESSOR directive
using namesapce std;
int main()        // function header
{             // start of a function body
  ///using namespace std;
  cout << "Come up and C++ me sometime.\n";  // message
  // start a new line
  cout << "Here is the total: 1000.00\n";
  cout << "Here we go!\n";
  return 0;
}