Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 在哪里可以找到iostream.h_Linux_G++_Makefile_Debian - Fatal编程技术网

Linux 在哪里可以找到iostream.h

Linux 在哪里可以找到iostream.h,linux,g++,makefile,debian,Linux,G++,Makefile,Debian,我试图在Linux中制作一些东西,但它抱怨说找不到iostream.h。获取此文件需要安装什么?此标准头的正确名称只是iostream,没有扩展名 如果编译器仍然找不到它,请尝试以下操作: find /usr/include -name iostream -type f -print ……并将其添加到包含路径,遵循编译器的文档。 < P>标题是一个过时的标头,它是在C++被标准化为ISO C++ 1998之前(它是来自C++注释的参考手册)。标准的C++头是。两者之间有一些细微的区别,最大的区

我试图在Linux中制作一些东西,但它抱怨说找不到iostream.h。获取此文件需要安装什么?

此标准头的正确名称只是
iostream
,没有扩展名

如果编译器仍然找不到它,请尝试以下操作:

find /usr/include -name iostream -type f -print

……并将其添加到包含路径,遵循编译器的文档。

< P>标题是一个过时的标头,它是在C++被标准化为ISO C++ 1998之前(它是来自C++注释的参考手册)。标准的C++头是。两者之间有一些细微的区别,最大的区别是将包含的内容放在名称空间std中,因此您必须使用“std::”来限定cin、cout、endl、istream等。作为一种黑客行为(这是一种黑客行为,因为头文件永远不应该包含“using”指令,因为它们完全违背了名称空间的目的),您可以如下定义“iostream.h”:

#ifndef HEADER_IOSTREAM_H
#define HEADER_IOSTREAM_H

#include <iostream>
using namespace std; // Beware, this completely defeats the whole point of
                     // having namespaces and could lead to name clashes; on the
                     // other hand, code that still includes <iostream.h> was
                     // probably created before namespaces, anyway.

#endif
\ifndef头\u IOSTREAM\u H
#定义标题\u IOSTREAM\u H
#包括
使用命名空间std;//当心,这完全违背了
//具有名称空间并可能导致名称冲突;上
//另一方面,仍然包含的代码是
//无论如何,可能是在名称空间之前创建的。
#恩迪夫

虽然这与原始过时的标题不完全相同,但在大多数情况下,这应该足够接近(即,应该没有或很少需要修复的东西)。

我需要在debian上编译partport,但遇到了问题(centos 4.5可以正常工作) 我这样做没有成功 ln-s/usr/include/c++/4.5/iostream/usr/include/c++/4.5/iostream.h

我发现,IOFSURST.H提供了C++,我在CITOS 4.5

上找到了它。 因此,我将文件iostream.h从centos 4.5复制到了UbuntuNatty,它成功了

scproot@ip.centos- 4.5://Re/C++/3.3.4/Dele/IoStur.H/USR/Cube/C++ +/3/IoSoal.H<P>C++,任何标准C++编译器都应该自动找到C++头,而不需要指定它们的位置;事实上,C++标准在理论上允许“以”的方式解决,实际上不涉及名为“IoSoW”的文件(即,编译器允许将名称映射到它想要的任何东西,只要它提供所需的标准库类和所需的功能)。@米迦勒:确实。如果
g++
在修复了
#include
iostream
的指令后没有编译此代码,我会感到惊讶。这是您想要使用的代码中的一个bug。如果可能的话,你应该向项目的维护人员提供一份bug报告。可能的副本你很幸运。实现之间的标准头不必相同,复制可能会引入即时或细微的错误。此外,它掩盖了一个事实,即你使用的程序是用一个古董版本的C++编写的,在现代编译器编译时可能会有其他错误。