致命错误:安装 LEDA 库时找不到“iostream.h”文件

fatal error: 'iostream.h' file not found when installing LEDA library

提问人:WizenedWizard 提问时间:11/3/2023 更新时间:11/3/2023 访问量:51

问:

我正在尝试安装 LEDA 库并按照其安装说明进行操作。但是,当我运行 make 时,出现以下错误

../../incl/LEDA/basic.h:20:10: fatal error: 'iostream.h' file not found

我知道建议换掉,但是,我想知道是否有办法在不编辑许多文件/编写脚本来替换文件的情况下仍然构建它。此外,其中一些文件对我来说是只读的,所以我正在尝试寻找解决方法。#include <iostream.h>#include <iostream>

另外,当我转到我的包含文件夹时,我看到一些双标题,例如 和 .是否有可能这样做?stringstring.hiostream

我尝试使用不同的编译器,并尝试查看我的包含路径。我以为也许这些编译器之一会具有必要的标头,但即使是 cc 编译器也找不到 .此外,该代码使用 c++ 概念,即使它以 .c 为前缀,因此 c 编译器无论如何都无法工作。<iostream.h>

C++ macOS 编译器错误 leda

评论

2赞 Ted Lyngmo 11/3/2023
图书馆一定非常古老。标头已命名(不带)很长一段时间。iostream.h
1赞 Retired Ninja 11/3/2023
iostream.h已经很久没有出现过了,就像 C++ 98 之前一样。我记得上一次使用它是在 90 年代制作 DOS 游戏。
0赞 WizenedWizard 11/3/2023
不幸的是,我知道该库非常古老,正如我在问题中所说,我理解建议使用标准的 <iostream> 标头。但这对我来说不是一个选择,因为我无法修改其中一些文件。
1赞 Ted Lyngmo 11/3/2023
您必须在该库中进行大量更改才能使用现代编译器对其进行编译。我看了看。
0赞 user17732522 11/3/2023
我认为任何现代编译器都不支持 C++ 的预标准方言。您将需要对库进行重大更改,或者找到一个支持方言的那个时代的旧编译器(但我认为您无法找到一个可以在 VM 之外构建和安装在系统上的编译器)。这不仅与标头名称有关,而且 C++ 代码也与符合标准的编译器所支持的内容不同。

答: 暂无答案