Когда вы получаете такие ошибки, это означает, что DMD не может найти файл импорта. Если вы import foo.bar.xyz
, то он ожидает найти xyz.d
в каком-то каталоге foo\bar\
.
Он ищет этот каталог во всех своих стандартных путях импорта, а также в текущем каталоге (например, если вы добавили каталог std
рядом с вашим tcpechoserver.d
с stdio.d
в нем, тогда он будет использовать его). Конечно, вы этого не хотите — вам нужен стандартный stdio.d
.
Вы можете узнать, в каких каталогах он находится, открыв файл
C:\D\dmd2\windows\bin\sc.ini
(при условии, что вы установили в каталог по умолчанию).
Внутри он должен содержать строку:
DFLAGS="-I%@P%\..\..\src\phobos" "-I%@P%\..\..\src\druntime\import"
который сообщает компилятору искать эти пути при поиске каталогов импорта. Если у вас нет этой строки по какой-либо причине (или если строка отличается), попробуйте добавить эту строку в sc.ini
(подойдет любое место под заголовком [Environment]
.
Также убедитесь, что каталог dmd2
содержит файл \src\phobos\std\stdio.d
.
Если оба они не работают, я бы рекомендовал переустановить с нуля.
person
Peter Alexander
schedule
29.08.2010
dmd -v
. - person Bernard   schedule 29.08.2010