"After I upgraded g++ to the latest version, I'm seeing undefined symbols."
or
"If I upgrade to a new version of g++, do I need to reinstall libg++?"
As a rule, the first two digits of your g++ and libg++ should be the same. Normally when you do an upgrade in the "minor version number" (2.5.7 to 2.5.8, say) there isn't a need to rebuild libg++, but there have been a couple of exceptions in the past.