"when I attempt to run my c++ program, I get a linking error .... "
you mean when you link, as part of the building process, yes? (judging from the error)
Where is the link to libXft (.a or .so ) pointing and is the target present and correct (use ls -l)?
There no libX*.so files at all, anywhere?
The X libraries are often found in /usr/X11R[5 or 6]/lib/ - have a look to see what libraries are there and use -L/usr/X11R[5 or 6]/lib/ if so.
.a files are static libraries (archived object files) which will be linked into your program - if you have two copies of your program running then you get to copies in memory.
.so are shared libraries - which are loaded into memory once for all programs that use them (although any user needs to have these libraries installed on their system, and in the right version)
I think the switch to force linking to static libraries is -static (for gcc) but you might want to check the manual. Linking to shared libraries is normal.