在linux下使用gcc连接<iostream.h>

我试图运行我的第一个C ++程序在Linux(Linux的薄荷8)。 我使用gcc或g ++,两者都有相同的问题:编译器没有find我想要导入的库。

我怀疑像我应该复制iostream.h文件(我不知道在哪里寻找)在工作文件夹中,移动我的文件编译到其他地方或使用某种选项。

感谢您的build议。

这是gcc命令,c ++代码和错误消息:

gcc -o addition listing2.5.c 

 #include <iostream.h> int Addition(int a, int b) { return (a + b); } int main() { cout << "Resultat : " << Addition(2, 4) << "\n"; return 0; } 

 listing2.5.c:1:22: error: iostream.h: No such file or directory listing2.5.c: In function 'main': listing2.5.c:10: error: 'cout' undeclared (first use in this function) listing2.5.c:10: error: (Each undeclared identifier is reported only once listing2.5.c:10: error: for each function it appears in.) 

现在代码编译,但我不能使用文件名从命令行运行它。 addition: command not found任何build议?

  • cout是在std :: namespace中定义的,你需要使用std::cout而不是cout
  • 你也应该使用#include <iostream>而不是旧的iostream.h
  • 使用g ++来编译C ++程序,它会链接到标准的c ++库中。 海湾合作委员会不会。 如果你给它一个.c后缀,gcc也会把你的代码编译成C代码。 给你的文件一个.cpp后缀。

你需要<iostream>而不是<iostream.h>

他们也是头文件而不是库。

其他的事情要解决, cout应该是std::cout ,你应该使用std::endl而不是"\n"

你需要<iostream><iostream.h>是非标准的太老头。 尝试这个:

 #include <iostream> int Addition(int a, int b) { return (a + b); } int main() { using namespace std; cout << "Resultat : " << Addition(2, 4) << "\n"; return 0; } 

请使用g ++而不是gcc来编译它

如果你不想使用std,

std::cout << "Hello World";

你也可以在程序开始时使用“命名空间 ”关键字as-

  #include <iostream > using namespace std; int Addition(int a, int b) { return (a + b); } int main() { cout << "Result : " << Addition(2, 4) << "\n"; return 0; } 

现在你不需要写std,每次使用I / O操作。