What you're missing is the bridge between users and content, and that comes through Relationships (connecting different tables from the database).
You can do this by approaching from either the content end, or the user end (Content Views or User Views type). Since the goal is to list content, I think it makes more sense to start from the content end, unless you need some more user handling that would be easier from the user then.
- Create a Views showing your Content (Page or a Block, which ever suits you best)
- Add a Relationship Taxonomy term referenced from field_country (you probably have a different field name), you can require it since you only want nodes in the list that don't have Country empty
- Add another Relationship User using field_user_country (you probably have a different field name), it will use the above Relationship by default. You can require it since you need users who also have the Country field not empty.
- Add a Contextual filter ID from
User Category and it will use the second Relationship by default. Configure it:
When the filter value is NOT available
Provide default value
User ID from logged in user
When the filter value IS available or a default is provided
Specify validation criteria
- Adjust any other Views settings relevant to you and Save the View
- If you've created a Block and need to place it in a Region in your theme, don't forget to adjust the Contextual Views options on the Block configure page.