我想知道处理以下情况的正确方法是什么:
- 包含A,B类的TheLibrary.LIB文件
- First.DLL使用A类,因此它与TheLibrary.lib
链接
- Second.DLL使用First.DLL&中的代码。 A级和A级B类,因此它与First.DLL AND TheLibrary.lib
链接
结果(如预期的那样)是A类有多个定义(TheLibrary.lib和First.lib)
问题是,处理这种情况的正确方法是什么?
我可以想到一些我不满意的选择:
- 强制Second.DLL使用它找到的第一个符号进行链接(/ FORCE:MULTIPLE)
- 使First.dll使用B类,因此它将在First.lib中。这样,Second.lib将不需要与TheLibrary.lib
链接
- 将TheLibrary.lib转换为DLL,但我们假设这是我真正想避免的事情
醇>