Я получил очень запутанную ошибку.
1>Base_d.lib(Base_d.dll) : error LNK2005: "public: __cdecl std::vector<int,class std::allocator<int> >::vector<int,class std::allocator<int> >(class std::vector<int,class std::allocator<int> > const &)" (??0?$vector@HV?$allocator@H@std@@@std@@QEAA@AEBV01@@Z) already been defined in ParametersManager.obj
1>Base_d.lib(Base_d.dll) : error LNK2005: "public: __cdecl std::vector<int,class std::allocator<int> >::~vector<int,class std::allocator<int> >(void)" (??1?$vector@HV?$allocator@H@std@@@std@@QEAA@XZ) already been defined in ParametersManager.obj
Библиотека "Base_d.lib" - это библиотека базовых компонентов.Я пишу другую библиотеку, связанную с «Base_d.lib», и новая библиотека содержит класс «ParametersManager».Класс
«ParametersManager» имеет член «std :: vector _mem»
Я строю этот проект на Windows 10 с Visual Studio 2015, пробовал многопути и перестроить много раз, и я нашел
(1), если я прокомментировал "_mem", ошибка disapperd.
(2) если я заменим "std :: vector _mem" на "std :: vector _mem" или любой другой тип, ошибка исчезнет
(3) сборка с linux, ошибка исчезла (но эту работу нужно использовать для windows)
Меня пытали в течение нескольких дней, кто-нибудь может мне помочь?