如何编译 C++ 源代码(“未找到 iostream.h”错误)?

如何编译 C++ 源代码(“未找到 iostream.h”错误)?

我不想讨论 C++ 或任何编程语言!我只想知道我在 linux ubuntu 上编译 helloworld.cpp 时做错了什么!

我正在学习 C++,因此我的步骤如下:

在 vim 中打开 hello.cpp 并写入

#include <iostream.h>
int main()
{
    cout << "Hello World!\n";`
    return 0;
}

因此,之后我在终端尝试了这个

g++ hello.cpp

并且输出是

hello.cpp:1:22: fatal error: iostream.h: No such file or directory
compilation terminated.

你有什么建议?有没有什么有用的分步指南可以给我?谢谢!

答案1

您应该使用#include <iostream>,而不是iostream.h。H该形式非常古老并且多年来已被弃用。

您可以在。H与非。H表格在这里: http://members.gamedev.net/sicrane/articles/iostream.html

(另外,您应该写std::cout或有一行,using namespace std;否则您的下一个错误将是关于编译器找不到的定义cout。)

答案2

您应该将其更改iostream.hiostream。我也遇到了与您遇到的相同错误,但当我将其更改iostream.h为时iostream,它就可以正常工作。也许它对您也有效。

换句话说,将以下行修改为:

#include <iostream.h>

让它说这样的话:

#include <iostream>

标准中定义的 C++ 标准库头文件没有.h扩展。

如上所述Riccardo Murri 的回答,您还需要cout通过其完全限定名称进行调用std::cout,或者使用以下两行之一(最好位于您的#include指令之下但在其他代码之上):

using namespace std;
using std::cout;

第二种方法被认为是更可取的,特别是对于严肃的编程项目,因为它只影响std::cout,而不是引入std命名空间中的所有名称(其中一些名称可能会干扰程序中使用的名称)。

相关内容