Как dmd определяет путь к своей библиотеке во время компиляции?
У меня установлены две версии dmd: dmd 2.074 и dmd 2.080.
dmd 2.080 былсобирает файлы 2.074, которые (что не удивительно) не компилируется.
Например, dmd 2.074 имеет functions.d в:
- / Library / D / dmd / src/phobos/std/functional.d
В то время как dmd 2.080, установленный brew
, имеет functions.d по адресу:
- / usr / local / Cellar / dmd / 2.080.0 / include / dlang / dmd / std / functions.d
Я переименовал /Library/D/...
(который имеет 2.074) в /Library/D2_074/...
.
Теперь dmd 2.080 (находится в/usr/local/bin/dmd
) с Фобосом все в порядке.Huzzah!
Может быть, плохо устанавливать несколько версий dmd.
Я пытаюсь понять, как компилятор / компоновщик dmd
определяет местоположение его компиляции, ссылкаи (возможно) файлы поддержки времени выполнения.Поэтому, когда я установлю следующую каплю dmd, я больше не сделаю ту же ошибку.