Не могу найти direct.h - PullRequest
4 голосов
/ 01 июня 2011

По какой-то причине, когда я пытаюсь скомпилировать свой код, я получаю эту ошибку:

фатальная ошибка: direct.h: нет такого файла или каталога компиляция прекращена.

Я нахожусь на Linux, используя g ++ (GCC) 4.6.0 20110509 (Red Hat 4.6.0-7)

Ответы [ 3 ]

4 голосов
/ 22 июня 2016

Обычно это заголовочный файл C / C ++, предоставляемый Microsoft Windows, поэтому он не может работать в linux.

ссылка на википедию

Вы можете использовать unistd.h заменить действия в direct.h, такие как mkdir, rmdir и т. д.

4 голосов
/ 01 июня 2011

direct.h является частью компилятора Digital Mars, а не gcc.

Большинство его функций имеют аналогичные имена в linux, который стандартизирован posix. Прочитайте справочную страницу, например, getcwd , rmdir , mkdir или уточните свой вопрос о том, какие функции вам нужны.

Для начала просто удалите include и посмотрите, какие другие ошибки вы получаете, и поработайте оттуда.

0 голосов
/ 06 июля 2016

Я взял исходный код SWMM5 и изменил файлы после readme и некоторых небольших исправлений.Кажется, в Linux вам не нужен direct.h для CLE-версии.Я протестировал несколько примеров, предоставленных EPA https://www.epa.gov/sites/production/files/2014-05/epaswmm5_apps_manual.zip

Вы можете получить файлы здесь .

Дайте мне знать, если что-то не работает.

...