C++ 混合静态和动态LIB时出现LNK2005错误

C++ 混合静态和动态LIB时出现LNK2005错误,c++,dll,static,mixing,libs,C++,Dll,Static,Mixing,Libs,我正在尝试创建链接到静态库utils.lib的DLL ficus.DLL和使用crux.lib的名为crux.DLL的动态库 在生成crux.dll时,我还将utils.lib作为它的一部分 我在链接时遇到这些错误 1> crux.libcrux.dll:错误LNK2005:public:char\uu thiscall std::basic_ios>::fillchar ?填充@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEDD@Z已经 在Utils.

我正在尝试创建链接到静态库utils.lib的DLL ficus.DLL和使用crux.lib的名为crux.DLL的动态库

在生成crux.dll时,我还将utils.lib作为它的一部分

我在链接时遇到这些错误

1> crux.libcrux.dll:错误LNK2005:public:char\uu thiscall std::basic_ios>::fillchar ?填充@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEDD@Z已经 在Utils.libBaseTypes.obj中定义

我已经检查了crux/utils/和ficus是否都使用相同的/MTd标志编译

除了使用/FORCE:MULTIPLE外,还有什么方法可以避免这些链接错误

谢谢