I don't necessarily agree with all the other guys have replied. The guy is a moocher. I've known more than one in my life, and if you two are on basically the same socio-economic plane, then he should be carrying his load. If the guy is intelligent enough to hold down a job, I don't believe he doesn't realize he isn't contributing. He just doesn't choose to do so. You can blame it on upbringing, etc, etc, but it all comes down to character, and I'm guessing his isn't going to change, so you need to decide if his companionship is worth it. Since you posted on here, it is obviously becoming a sore point with you, so I'm guessing it isn't.
I have a friend that I hunted with a lot back in the 1980's. He's a great guy, and we had tons of fun together, but he is was always a moocher. I knew it, but enjoyed his company, so I decided to basically ignore it. It was big things, and small things. We'd virtually always take my vehicle. I didn't mind that so much, because I generally had a more dependable one, but it never occurred to him to pitch in on the gas. I was always hungry, so I'd usually stop somewhere for a burger. He would never have any cash with him, so I'd buy his meal as well. If we went a long distance, he'd have money, but if we stopped to eat, he never one time insisted on paying for mine as well. We'd get out in Kansas turkey hunting, and he'd only have a couple of shells with him, so he'd "borrow" some from me, never one time offering to pay for them. We haven't hunted together for several years now, and he has fallen on hard times due to some health issues. I still consider him a friend, but to be honest, if I had it to do over again, I would not let him take advantage of me the way he did, because in retrospect, I don't feel as if he treated me with the same respect I afforded him.
Personally, I'd cut the guy loose.