title: Link error when subclassing string
body: <p>for various reasons I subclassed the std::string like:</p>
  
  <pre><code>   class CotengString : public string
           {
          public:
          // Constructors
          CotengString();
          CotengString(const char* ch) : string(ch) {}
          CotengString(const string&amp; str) : string(str) {}
          virtual ~CotengString() {};
  
          //Operator"="
          CotengString&amp; operator=(const string&amp; str) { return (CotengString&amp;)this-&gt;assign(str); }
          CotengString&amp; operator=(const char* ch) { return (CotengString&amp;)this-&gt;assign(ch); }
      };
  </code></pre>
  
  <p>Inside the DLL I wish to use this code all compiles correctly. But inside my Google Test project I get this error after switching to the subclassed string</p>
  
  <pre><code>LNK2005 "public: __thiscall std::basic_string&lt;char,struct std::char_traits&lt;char&gt;,class std::allocator&lt;char&gt; &gt;::basic_string&lt;char,struct std::char_traits&lt;char&gt;,class std::allocator&lt;char&gt; &gt;(char const *,unsigned int)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBDI@Z) already defined in gtest.lib(gtest-all.obj)    Devices.Spectro.CppTest &lt;path&gt;\Devices.Spectro.CppTest\Devices.Spectro.Cpp.lib(Devices.Spectro.Cpp.dll)
  </code></pre>
  
  <p>My gut feeling is that I am missing something obvious. But I don't know what it could be</p>