title: Visual Studio 2012 link errors with static libraries
body: <p>I recently upgrade to 2012 from 2005 (I'm pretty sure) and ran into link errors when building my solution.  I ran out of ideas after hours of searching google and putsing around. I've set up dozens of projects, so I'm pretty certain I've done everything right, but to be fair, it's been a few years.</p>
  
  <p>So, as a test I set up a new project.  I called it App, a Windows application (.exe). I created a second project called Core and flagged it as a static library (.lib) in it's Configuration Type.  Both are a part of the solution.  In Core I added Test.cpp and Test.h which contain a small class that has a simple function in it.  Then, inside the Window's applications WinMain.cpp file I have WinMain() where I call into this test class via CTest test; test.Result();</p>
  
  <p>Along with this I've set the project App's Project Dependencies to be Core and finally added to App's Additional Include Directories the path to the Core code where Test.cpp/.h live.</p>
  
  <p>I get the following link errors and cannot for the life of me figure out why.  Does anyone know what step I may have missed or what changed in 2012 from previous versions?  Thank you very very much in advance for the help!</p>
  
  <pre><code>1&gt;------ Build started: Project: App, Configuration: Debug Win32 ------
  1&gt;WinMain.obj : error LNK2019: unresolved external symbol "public: __thiscall CTest::CTest(void)" (??0CTest@@QAE@XZ) referenced in function _WinMain@16
  1&gt;WinMain.obj : error LNK2019: unresolved external symbol "public: __thiscall CTest::~CTest(void)" (??1CTest@@QAE@XZ) referenced in function _WinMain@16
  1&gt;WinMain.obj : error LNK2019: unresolved external symbol "public: int __thiscall CTest::Result(void)" (?Result@CTest@@QAEHXZ) referenced in function _WinMain@16
  1&gt;D:\Work\Test_Linker_Stupidity\App\Debug\App.exe : fatal error LNK1120: 3 unresolved externals
  ========== Build: 0 succeeded, 1 failed, 1 up-to-date, 0 skipped ========
  </code></pre>