dmd 如何在编译时确定它的库路径?

How does dmd determine it's library path at compile time?

dmd在编译时如何确定它的库路径?

我安装了两个版本的 dmd,dmd 2.074 和 dmd 2.080。

dmd 2.080 正在获取 2.074 文件,这些文件(毫不奇怪)没有编译。

例如,dmd 2.074 functional.d 位于:

虽然 brew 安装的 dmd 2.080 有 functional.d 在:

我将 /Library/D/...(有 2.074)重命名为 /Library/D2_074/...

现在 dmd 2.080(位于 /usr/local/bin/dmd)发现 Phobos 正常。万岁!

也许安装多个版本的 dmd 是一件坏事。

我试图了解 dmd compiler/linker 如何确定其编译、link 和(可能)运行时支持文件的位置。所以当我安装下一滴 dmd 时,我不会再犯同样的错误。

dmd 将在以下目录序列中查找 dmd.conf:

  • 当前工作目录
  • HOME环境变量指定的目录
  • dmd 目录位于
  • /etc目录

似乎 dmd.conf 在安装中默认放置在 /etc/dmd.conf 中,但如上所示,您可以为单独的安装设置单独的配置。