找不到direct.h

时间:2011-05-31 21:10:40

标签: gcc compiler-errors

由于某些原因,当我尝试编译代码时,我收到此错误:

致命错误:direct.h:没有这样的文件或目录 编译终止。

我使用的是g ++(GCC)4.6.0 20110509(Red Hat 4.6.0-7)

3 个答案:

答案 0 :(得分:4)

direct.h是Digital Mars编译器的一部分,而不是gcc。

它的大部分功能都在Linux上具有相似的名称,这是posix标准化的。阅读手册页,例如getcwdrmdirmkdir或澄清您关于所需功能的问题。

首先,只需删除包含,然后查看您遇到的其他错误,并从那里开始工作。

答案 1 :(得分:4)

通常,是Microsoft Windows提供的C / C ++头文件,因此无法在linux中运行。

reference at wikipedia

您可以使用unistd.h替换direct.h中的操作,如mkdir,rmdir等。

答案 2 :(得分:0)

我使用了SWMM5源代码并修改了自述文件和一些小修补程序后面的文件。在Linux中,你似乎根本不需要direct.h用于CLE版本。我测试了EPA提供的几个例子 https://www.epa.gov/sites/production/files/2014-05/epaswmm5_apps_manual.zip

您可以获取文件from here

如果有什么不起作用,请告诉我。