title: two identical projects: one has unresolved externals, the other does not
body: <p>I have two VS 2017 projects that, structurally, are identical.</p>
  <p>They both:</p>
  <ul>
  <li>are compiled in Release x64</li>
  <li>are located in <code>project/folder/project1</code> and <code>project/folder/project2</code></li>
  <li>import a specific library (that is causing the issue) in <code>my/library/here/</code>. This path is defined in the Project properties &gt; C++ &gt; General &gt; Additional include directories</li>
  <li>their imports in <code>project1.h</code> and <code>project2.h</code> are as follows:</li>
  </ul>
  <pre><code>#pragma once
  
  #undef UNICODE
  
  #define WIN32_LEAN_AND_MEAN
  
  #include &lt;iostream&gt;
  #include &lt;map&gt;
  #include &lt;random&gt;
  #include &lt;cstdlib&gt;
  #include &lt;windows.h&gt;
  #include &lt;winsock2.h&gt;
  #include &lt;ws2tcpip.h&gt;
  #include &lt;stdlib.h&gt;
  #include &lt;stdio.h&gt;
  #include &lt;string&gt;
  
  #include &lt;windows.h&gt;
  #include &lt;winsock2.h&gt;
  #include &lt;ws2tcpip.h&gt;
  
  #include &quot;my_problem_library.pb.h&quot;
  
  // Need to link with Ws2_32.lib
  #pragma comment( lib, &quot;Ws2_32.lib&quot; )
  
  #define DEFAULT_BUFLEN 512
  #define DEFAULT_PORT &quot;6000&quot;
  </code></pre>
  <p>In project1, the code compiles without any issues. It uses the exact same functions from <code>my_problem_library</code> as project2, yet when I compile project2, I get these arrors:</p>
  <pre><code>error LNK2001: unresolved external symbol &quot;public: virtual __cdecl GameInfo::GameInformation::~GameInformation(void)&quot; (??1GameInformation@GameInfo@@UEAA@XZ)
  error LNK2001: unresolved external symbol &quot;protected: __cdecl GameInfo::GameInformation::GameInformation(class google::protobuf::Arena *)&quot; (??0GameInformation@GameInfo@@IEAA@PEAVArena@protobuf@google@@@Z)
  error LNK2001: unresolved external symbol &quot;__declspec(dllimport) public: void __cdecl google::protobuf::internal::LogFinisher::operator=(class google::protobuf::internal::LogMessage &amp;)&quot; (__imp_??4LogFinisher@internal@protobuf@google@@QEAAXAEAVLogMessage@123@@Z)
  ...
  fatal error LNK1120: 13 unresolved externals
  </code></pre>
  <p>The functions causing these errors are all located in <code>my_problem_library.pb.h</code> (which was auto-generated, I might add).</p>
  <p>Could there be another import that I missed? Why does this work on project1 but not project2?</p>
  <p>All insight is gladly welcomed.</p>