由于某些原因,当我尝试编译代码时,我收到此错误:
致命错误:direct.h:没有这样的文件或目录 编译终止。
我使用的是g ++(GCC)4.6.0 20110509(Red Hat 4.6.0-7)
答案 0 :(得分:4)
direct.h
是Digital Mars编译器的一部分,而不是gcc。
它的大部分功能都在Linux上具有相似的名称,这是posix标准化的。阅读手册页,例如getcwd,rmdir,mkdir或澄清您关于所需功能的问题。
首先,只需删除包含,然后查看您遇到的其他错误,并从那里开始工作。
答案 1 :(得分:4)
通常,是Microsoft Windows提供的C / C ++头文件,因此无法在linux中运行。
您可以使用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。
如果有什么不起作用,请告诉我。