Wenn Sie solche Fehler erhalten, bedeutet dies, dass DMD die Importdatei nicht finden kann. Wenn Sie import foo.bar.xyz
, dann erwartet es ein xyz.d
in einem Verzeichnis foo\bar\
zu finden.
Es sucht für dieses Verzeichnis in allen pauschalen Einfuhrweg, sowie das aktuelle Verzeichnis (zum Beispiel, wenn Sie ein Verzeichnis std
neben Ihrem tcpechoserver.d
mit einem stdio.d
darin gegeben, dann wäre es, dass verwenden). Natürlich wollen Sie das nicht - Sie wollen den Standard stdio.d
.
können Sie finden, welche Verzeichnisse es durch Öffnen der Datei
C:\D\dmd2\windows\bin\sc.ini
(vorausgesetzt, Sie in das Standardverzeichnis installiert ist) aussieht.
Innen, dass, sollte es die Zeile enthält:
DFLAGS="-I%@P%\..\..\src\phobos" "-I%@P%\..\..\src\druntime\import"
, die die Compiler sagen diese Pfade zu suchen, wenn für den Import Verzeichnis suchen. Wenn Sie nicht über diese Linie aus irgendeinem Grunde haben (oder wenn die Leitung unterschiedlich ist), dann versuchen Sie diese Zeile in sc.ini
Zugabe (irgendwo unter dem [Environment]
Header tun soll.
außerdem sicher, dass das Verzeichnis dmd2
eine \src\phobos\std\stdio.d
-Datei enthält.
Wenn beide diese nicht funktionieren, dann würde ich empfehlen, von Grund auf neu zu installieren
Bitte senden Sie die Ausgabe der Kompilierung mit 'DMD -V' – Bernard
C:.. \ Hoffnung \ D> DMD tcpechoserver.d - v parse tcpechoserver importall tcpechoserver Importobjekt (C: \ D \ bin \ .. \ import \ object.di) importieren std.stdio (std \ stdio.d) tcpechoserverd.d (3): Fehler: Modul stdio kann Datei 'std \ nicht lesen stdio.d ' – lowerkey