Linker &引用;“未定义引用”;在DMD中链接时出错

Linker &引用;“未定义引用”;在DMD中链接时出错,linker,d,ld,dmd,linker-errors,Linker,D,Ld,Dmd,Linker Errors,当我编译一个需要D中的mondo库的程序时,我会被链接器中的一大堆错误所困扰。最后两行是唯一可以远距离辨认的: collect2: error: ld returned 1 exit status Error: linker exited with status 1 然而,之前的所有其他行基本上都说了同样的话:“未定义的引用…” 在询问堆栈溢出之前,我已经对这个问题进行了研究,但对其他人有用的东西似乎对我不起作用。(当然,我必须用C或C++构建来查找这个问题,但我想它没有明显的不同。) 互联网

当我编译一个需要D中的mondo库的程序时,我会被链接器中的一大堆错误所困扰。最后两行是唯一可以远距离辨认的:

collect2: error: ld returned 1 exit status
Error: linker exited with status 1
然而,之前的所有其他行基本上都说了同样的话:“未定义的引用…”

在询问堆栈溢出之前,我已经对这个问题进行了研究,但对其他人有用的东西似乎对我不起作用。(当然,我必须用C或C++构建来查找这个问题,但我想它没有明显的不同。) 互联网上其他地方的一切都表明,我需要在将我的库编译到对象后将它们链接起来,但我相信我正在这样做,并且仍然会出错。我使用的命令序列如下所示:

$ dmd -c ./source/mondo/source/* insert.d
然后

(除insert.o外,上述所有文件均来自./source/mondo/source/*)

我的程序的标题如下所示(如果有价值的话):

import mondo;
import bsond;
import mongoc;
我不知道如何才能更明确地告诉编译器我想要什么,但我似乎仍然得到了这个错误

注意:mondo需要mongo-c-driver才能工作。我编译了那个库,没有任何问题。我试着顺便把它包括进去

-L-L/usr/local/lib

到DMD,但这也不起作用。事实上,我也得到了库中函数的一堆“未定义引用”错误

-L-L/usr/local/lib
不包括库,它包括库路径。。。这是默认值,所以它什么也不做。尝试类似于
-L-lmongo
-L的小写字母和库名(不管是什么C),看看会发生什么。另外,实际上发布未定义的参考行(至少其中的一些参考行)会有很大帮助。
-L-L/usr/local/lib
不包括库,它包括库路径。。。这是默认值,所以它什么也不做。尝试类似于
-L-lmongo
-L的小写字母和库名(不管是什么C),看看会发生什么。此外,实际上发布未定义的参考线,至少其中的一些,可以是一个很大的帮助。
-L-L/usr/local/lib