我正在尝试在linux中运行我的第一个c ++程序(linux mint 8)。我使用gcc或g ++,都有同样的问题:编译器找不到我试图导入的库。
我怀疑我应该在工作文件夹中复制iostream.h文件(我不知道在哪里查找),将我的文件移动到其他地方编译或使用某种选项。
感谢您的建议。
这是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
有任何建议吗?
答案 0 :(得分:26)
cout
在std :: namespace中定义,您需要使用std::cout
而不是cout
。#include <iostream>
而不是旧iostream.h
答案 1 :(得分:5)
您需要<iostream>
而不是<iostream.h>
。
它们也是头文件而不是库。
要解决的其他问题,cout
应为std::cout
,您应使用std::endl
代替"\n"
。
答案 2 :(得分:3)
您需要<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;
}
答案 3 :(得分:3)
请使用g ++而不是gcc来编译它
答案 4 :(得分:1)
如果您不想将cd与cout一起使用 -
std::cout << "Hello World";
你也可以通过'使用命名空间'关键字在程序开头定义std作为 -
#include <iostream >
using namespace std;
int Addition(int a, int b)
{
return (a + b);
}
int main()
{
cout << "Result : " << Addition(2, 4) << "\n";
return 0;
}
现在,每次使用I / O操作时都不需要编写std。