我不想讨论 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.h
为iostream
。我也遇到了与您遇到的相同错误,但当我将其更改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
命名空间中的所有名称(其中一些名称可能会干扰程序中使用的名称)。