Lorsque vous obtenez des erreurs de ce type, cela signifie que DMD ne trouve pas le fichier d'importation. Si vous import foo.bar.xyz
, alors il s'attend à trouver un xyz.d
dans un répertoire foo\bar\
.
Il recherche ce répertoire dans tous ses chemins à l'importation, ainsi que le répertoire courant (par exemple, si vous avez ajouté un répertoire std
à côté de votre tcpechoserver.d
avec un stdio.d
en elle, il serait alors l'utiliser). Bien sûr, vous ne voulez pas cela - vous voulez la norme stdio.d
.
Vous pouvez trouver quels répertoires il semble en ouvrant le fichier
C:\D\dmd2\windows\bin\sc.ini
(en supposant que vous installé dans le répertoire par défaut).
intérieur qui, il doit contenir la ligne:
DFLAGS="-I%@P%\..\..\src\phobos" "-I%@P%\..\..\src\druntime\import"
qui est dit au compilateur de rechercher les chemins lors de la recherche pour les répertoires d'importation. Si vous ne disposez pas de cette ligne pour une raison quelconque (ou si la ligne est différente) puis essayez d'ajouter cette ligne dans sc.ini
(partout sous l'en-tête [Environment]
devrait faire.
Vérifiez également que le répertoire dmd2
contient un fichier \src\phobos\std\stdio.d
.
Si ces deux ne fonctionnent pas, alors je vous recommande de réinstaller à partir de zéro
S'il vous plaît poster le résultat de la compilation avec 'DMD -v' – Bernard
C:.. \ 'espoir \ D> DMD tcpechoserver.d - v parse tcpechoserver importall tcpechoserver import d'un objet (C: \ D \ bin \ .. \ import \ objet.di) import std.stdio (std \ stdio.d) tcpechoserver.d (3): Erreur: le module stdio ne peut pas lire le fichier 'std \ stdio.d ' – lowerkey