title: C++ errors LNK2028, LNK2019 and LNK1120. What do they mean and how do I solve them?
body: <p>I get these three errors and they seem to make little sense to me. If i comment the UserInstruction1(P1, P2, P3); in the console app the errors go away. Both projects are /CLR projects.</p>
  
  <pre><code>error LNK2028: unresolved token (0A000930) "void __cdecl UserInstruction1(double *,wchar_t *,wchar_t *)" (?UserInstruction1@@$$FYAXPANPA_W1@Z) referenced in function "int __cdecl wmain(int,wchar_t * * const)" (?wmain@@$$HYAHHQAPA_W@Z)  
  
  error LNK2019: unresolved external symbol "void __cdecl UserInstruction1(double *,wchar_t *,wchar_t *)" (?UserInstruction1@@$$FYAXPANPA_W1@Z) referenced in function "int __cdecl wmain(int,wchar_t * * const)" (?wmain@@$$HYAHHQAPA_W@Z)
  
  error LNK1120: 2 unresolved externals   C:\Workspace\Company.Pins\Bank\Source\Debug\Company.Pins.Bank.Win32Console.exe
  
  //Console App.
  #include "stdafx.h"
  #include "UInstruction.h"
  
  
  
  int _tmain(int argc, _TCHAR* argv[])
  {
      auto P2 = (TCHAR *)"3 Barrowstead";
      TCHAR* P3;
      double* P1;
      P1[0] = 13;
  
      UserInstruction1(P1, P2, P3);
      return 0;
  }
  </code></pre>
  
  <p>--</p>
  
  <pre><code>//UInstruction.h
  #ifndef __UINSTRUCTION_H__
  #include "stdafx.h"
  #include "UInstruction.h"
  #include "common.h"
  
  #include &lt;iostream&gt;
  #include &lt;stdio.h&gt;
  #define PRES_NOCOMMAND_FOUND 2000
  
  
  #define DllExport  __declspec(dllexport)
  
  void ReconcileUHParameter(const double* lpNumeric, TCHAR* lpAlpha1, TCHAR* lpAlpha2);
  extern void UserInstruction1(double* lpNumeric,     TCHAR* lpAlpha1, TCHAR* lpAlpha2);
  
  #endif
  </code></pre>
  
  <p>--</p>
  
  <pre><code>//UInstruction.cpp
  #include "stdafx.h"
  #include "UInstruction.h"
  #include "common.h"
  #using "Company.Pins.Bank.Decryption.dll"
  #include &lt;iostream&gt;
  #include &lt;stdio.h&gt;
  using namespace std;
  using namespace System;
  using namespace System::Runtime::InteropServices;
  
  
  CPReSInterfaceApp theApp;
  extern void UserInstruction1(
                      double* lpNumeric, 
                      TCHAR* lpAlpha1, TCHAR* lpAlpha2)
  {
  //logic goes here       
  }
  </code></pre>