使用LDC2和GDC编译

问题描述:

我有从源代码编译ldc2和gdc并一直工作到一个月前。没有什么改变,除了我不记得我在终端中设置的变量来让ldc2和gdc工作。使用LDC2和GDC编译

尝试编译D源代码时出现以下错误;

GDC:

$ /家庭/代码/ d/GDC /斌在/ usr/local/bin目录/ GDC -o T4 t4.d /家庭/代码/ d/GDC /斌/ usr/local/bin /../ libexec/gcc/x86_64-unknown-linux-gnu/4.4.5/cc1d: 加载共享库时出错: libmpfr.so.1:无法打开共享 目标文件:No such文件或目录

LDC2:

$ /家庭/代码/ d/LDC2 /斌/ LDC2 -o T4 t4.d /家庭/代码/ d/LDC2 /斌/ LDC2:错误 而载入共享库: libconfig ++ so.8 :无法打开共享 目标文件:没有这样的文件或目录

我不记得它是否只是PATH或DFLAGS的一个补充。有任何想法吗?


编辑: 重新编译LDC2都和GDC解决了这个问题,但我仍然不知道为什么我得到的错误。

如果.so文件不在您的$LD_LIBRARY_PATH,我想可能会发生此错误。

LDC的错误意味着您在编译它(重新)后移动了libconfig ++。 PATHDFLAGS是无关的,但正如Dan在他的回答中指出的,LD_LIBRARY_PATH可用于向搜索路径添加额外的位置。

如果您想要出于任何原因进行独立安装,您可以将RPATH设置为bin目录,并在那里复制libconfig ++,就像构建二进制包时一样:https://github.com/ldc-developers/ldc-scripts/blob/master/ldc2-packaging/2-build-ldc.sh#L18

GDC错误的情况同样如此 - 它取决于GNU MPFR库,它在升级过程中被删除或替换为不兼容的版本。