If you just use system-libraries (or libs from package installed correctly) they should be found.
If you have self-compiled libs you want to use, see the link Tim posted.
The compiled programs on linux are of course executables, because you can execute them (even if they have no file ending, linux works in a different way).
In your case I guess it's a problem with the paths to your images.
If you start your program from inside C::B look in your build-log how C::B does it.
It should look like:
Checking for existence: /tmp/test/bin/Release/test
Executing: /tmp/test/bin/Release/test (in /tmp/test/.)
Now open a console and switch to
/tmp/test and type
/tmp/test/bin/Release/test to see if it works now.
You have to use your paths of course and not mine.