Could you post the exact error message?
I have links all over the place with different SQL versions (ranging from 2008 R2 to 2016) and everything seems to work without much trouble.
What version of SQL are you using on the 2 instances? What provider are you using?
What options are you turning on on the linked server?
If you run just a VERY basic linked server creation script, does it succeed? Something like:
EXEC master.dbo.sp_addlinkedserver @server = N'TESTLINK', @srvproduct=N'', @provider=N'SQLNCLI', @datasrc=N'server\instance,port'
/* For security reasons the linked server remote logins password is changed with ######## */
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'TESTLINK',@useself=N'False',@locallogin=NULL,@rmtuser=N'sa',@rmtpassword='########'
That should create a very basic linked server for you connecting as sa (change the remtuser and rmtpassword values).
The above is all just my opinion on what you should do.
As with all advice you find on a random internet forum - you shouldn't blindly follow it. Always test on a test server to see if there is negative side effects before making changes to live!
I recommend you NEVER run "random code" you found online on any system you care about UNLESS you understand and can verify the code OR you don't care if the code trashes your system.