0

在 Visual Studio 2010 速成版中。我有一个名为 prj1 的项目(一个静态库)。prj1 具有创建对象 obj1 的代码。

在另一个项目 prj2 中,它是一个动态库,我有代码通过“new obj1”来实例化对象(obj1 的代码在 prj1 中)。

现在,当我尝试构建 prj2 时,出现链接错误:

1> 当我尝试右键单击 prj2->properties->frameworkk 和引用时,如果我将 prj1 添加为新引用,则会出现很多链接错误,例如 MSVCRTD.lib(MSVCR100D.dll):错误 LNK2005:

2>如果我不做上面的步骤1,右键单击解决方案->属性->项目依赖项,然后选择prj1依赖prj2。然后我得到一个链接错误,它抱怨:错误LNK2019:未解析的外部符号obj1 ...未解析的外部。

如果有人可以帮助我解决这个问题,那就太好了。

谢谢

4

2 回答 2

1

似乎您选择运行时库的选项不同。例如,一个项目链接到“多线程调试 DLL”,另一个项目链接到“多线程调试”。当您尝试将项目相互链接时,您将获得多重定义的运行时库符号。

于 2012-09-06T15:52:19.103 回答
0

您的静态库也必须找到/添加到您的库目录和依赖项列表中。

于 2012-09-06T15:50:34.477 回答