38

我是 C++ 新手。我刚开始!我在 Visual c++ 2010 Express 版本上尝试了一个代码,但我收到了以下代码错误消息。

------ 构建开始:项目:abc,配置:调试 Win32 ------
  ugo.cpp
c:\users\castle\documents\visual studio 2010\projects\abc\abc\ugo.cpp(3):致命错误 C1083:无法打开包含文件:'iostream':没有这样的文件或目录
========== 构建:0 成功,1 失败,0 最新,0 跳过 ==========

这是代码

// 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;
}
4

14 回答 14

16

代替

#include <iostream.h>

using namespace std;

#include <iostream>
于 2014-06-11T22:10:07.530 回答
13

您应该检查的一些事项:

  • 检查您的 VS 版本中的包含文件夹(在“ 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;:)

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

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

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

您可以尝试构建的一些东西:

  • using namespace std;从您的函数中排除main()并将其放在包含指令之后。
  • std::cout不使用using namespace std;.
于 2012-07-29T23:39:07.700 回答
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"
于 2015-12-05T20:45:18.753 回答
3

您很可能在 Properties->VC++ Directories->Include Directories 中缺少$(IncludePath) 。添加它应该使 iostream 和其他人再次可见。您可能在设置程序时错误地删除了它。

于 2015-12-10T12:25:00.820 回答
1

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

于 2012-07-30T00:26:43.680 回答
1

当您使用安装程序时,Microsoft Visual Studio 很有趣,您必须勾选很多选项以绕过 .netframework(有点)以制作更多的 c++ 而不是 c 尖锐的应用程序,例如 dekstop 开发下的 clr 选项......在 Visual Studio安装程序.... 区别在于 c++ win32 控制台项目或 c++ CLR 控制台项目。那么有什么区别呢?好吧,我不会列出 CLR 包含的所有文件,但由于大多数优秀的 c++ 内核都在 linux 中......所以 CLR 允许你绕过很多 windows .netframework b/c Visual Studio 真的是为你准备的用 C 语言制作应用程序。

这是一个 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 只是看起来更框架化的类重载方法,因此微软可以很好地拥有自己的庞大库,如果愿意的话,您应该熟悉自己。 https://msdn.microsoft.com/en-us/library/2e6a4at9.aspx

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

#ifdef _MRC_VER
#define _CRT_SECURE_NO_WARNINGS
#endif
于 2017-09-14T04:24:12.540 回答
1

确保您有使用 C++ installe d进行桌面开发。我遇到了同样的问题,因为我只安装了通用 Windows 平台开发。

于 2020-07-16T20:28:08.110 回答
1

如果在 VC++ 项目属性表 -> 配置属性 -> VC++ 目录 -> 包含目录中正确引用了您的包含目录。在我的 VS 2015 中,宏 $(VC_IncludePath) 中引用了路径,其计算结果为:“C:\Program文件 (x86)\Microsoft Visual Studio 14.0\VC\include"

using namespace std;
#include <iostream> 

那是为我做的。

于 2017-02-19T21:55:23.917 回答
1

I got this error when I created an 'Empty' console application in Visual Studio 2015. I re-created the application, leaving the 'Empty' box unchecked, it added all of the necessary libraries.

于 2016-06-08T22:23:35.760 回答
0

我也遇到了这个问题,我在 vs 2022 中使用了这段代码(在 main(); 之前),结果很好:

#include "pch.h"
#include <iostream>
using namespace std;
using namespace winrt;
using namespace Windows::Foundation;
于 2022-01-10T16:21:02.207 回答
0

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

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

于 2020-12-28T17:08:51.917 回答
0

小程序的快速修复:

添加:#include <cstdlib>

于 2019-07-08T03:12:55.030 回答
0

在我的情况下,我VS2015安装时没有 select C++ package,并且VS2017安装了C++ package. 如果我使用VS2015打开的 C++ 项目会显示此错误,并且使用VS2017将不会出错。

于 2020-06-06T13:49:56.167 回答
-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;
}
于 2019-07-08T03:15:45.140 回答