链接到链接到我已链接到的lib的库

时间:2014-02-18 20:06:47

标签: c++ static-libraries static-linking one-definition-rule

原谅令人费解的头衔。

此问题的设置如下:

我有一个开源库我已经内置到一堆.libs中(如果你很好奇,可以使用VTK)

我有一个使用上述静态库的库。让我们称之为Lib A。

我还有一个使用上述库(即VTK)的应用程序,并且还使用了Lib A.

在构建期间,我收到链接器错误,告诉我已经在链接到应用程序的库中定义了从Lib A调用的函数(错误:LNK2005)

关于如何解决将动态链接的所有问题都解决不了的想法?

1 个答案:

答案 0 :(得分:0)

好的。我弄清楚我做错了什么。

Lib A正在使用静态构建的VTK版本,而主应用程序正在链接动态链接版本的VTK。

所以问题实际上是我在.lib和.dll中定义的相同函数导致链接器失败。