https://docs.unrealengine.com/latest/INT/Support/Builds/index.html https://docs.unrealengine.com/latest/INT/Support/Builds/ReleaseNotes/2014/4_6/index.html#upgradenotes
if you search for deprecated, you can find all the important changes that might break your code.
LINK2001 means you are missing function definitions.
your header file declares 2 functions that your .cpp file does not define.
try adding this to your Weapon.cpp:
void AWeapon::Fire()
{
}
void AWeapon::InstantFire()
{
}