стандартная библиотека уже определена в lib, что вызывает ошибку компоновщика

Не уверен, что я здесь делаю не так, но скажу, что у меня есть:

foo.h

class foo
{
public:
int Get10(std::wstring);
};

foo.cpp

int foo::Get10(std::wstring dir)
{
   return 10;
};

И я компилирую его как библиотеку, если я включу эту библиотеку в другой проект вместе с соответствующим заголовком (foo.h) и попытаюсь вызвать экземпляр foo:

foo f;
f.Get10(L"ABC");

Я получаю сообщение об ошибке компоновщика:

Ошибка 1, ошибка LNK2005: "public : __thiscall std :: _ Container_base12 :: ~ _Container_base12 (void) " (?? 1_Container_base12 @ std @@ QAE @ XZ) уже определено в foo.lib (foo.obj) C: \ foo \ msvcprtd.lib (MSVCP100D.dll) footest

Есть идеи, почему это происходит?

6
задан Helam 13 March 2018 в 20:12
поделиться