当前位置: 首页>>技术教程>>正文


compiling – 如何编译 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.

你有什么建议?对我有什么有用的分步指南吗?谢谢!

最佳方案

您应该使用 #include <iostream> ,而不是 iostream.h ; .h 表格非常古老,多年来一直被弃用。

您可以在此处阅读有关 .h 与非 .h 形式的更多内容:\n http://members.gamedev.net/sicrane/articles/iostream.html

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

次佳方案

您应该将 iostream.h 更改为 iostream 。我也收到了与您收到的错误相同的错误,但是当我将 iostream.h 更改为 iostream 时,它工作正常。也许它对你也有用。

换句话说,更改以下行:

#include <iostream.h>

让它这样说:

#include <iostream>

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

如前所述 Riccardo Murri’s answer ,您还需要通过其完全限定名称 std::cout 调用 cout ,或者具有以下两行之一(最好在您的 #include 指令下方但在您的其他代码上方):

using namespace std;
using std::cout;

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

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/13253.html,未经允许,请勿转载。