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

时间:2018-05-15 19:21:47

标签: d

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

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

dmd 2.080正在拿起2.074文件,这并不令人惊讶地编译。

例如,dmd 2.074具有functional.d at:

  • /Library/D/dmd/src/phobos/std/functional.d

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

  • /usr/local/Cellar/dmd/2.080.0/include/dlang/dmd/std/functional.d

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

现在dmd 2.080(位于/usr/local/bin/dmd)发现Phobos没问题。好哇!

安装多个版本的dmd可能是件坏事。

我试图了解dmd编译器/链接器如何确定其编译,链接和(可能)运行时支持文件的位置。因此,当我安装下一滴dmd时,我再也不会犯同样的错误。

1 个答案:

答案 0 :(得分:2)

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

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

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