In my experience yes. I have run my programs on Ubuntu/Xubuntu, debian, Fedora(redhat) and Suse without recompiling. As long as the dependencies are satisfied (like the way dlls need to be present in system32 - but not the same if you know what i mean :/ ).
If you package your app into a .deb or .rpm then it as long as its not madly complicated then it *should* just self install what it needs on most debian based or redhat based systems. Just a package for the 1 or 2 major distros and a simple .tar file + install instructions for everyone else so they can resolve the deps for themselves. (because if they are not using a major distro then they probably know what they're doing and what they need to run it)
Of course this doesnt apply to cross architecture eg. x86->PPC any more than an x86 windows exe would run on windows CE/Mobile. That would need rebuilding for that particular platform.
If you package your app into a .deb or .rpm then it as long as its not madly complicated then it *should* just self install what it needs on most debian based or redhat based systems. Just a package for the 1 or 2 major distros and a simple .tar file + install instructions for everyone else so they can resolve the deps for themselves. (because if they are not using a major distro then they probably know what they're doing and what they need to run it)
Of course this doesnt apply to cross architecture eg. x86->PPC any more than an x86 windows exe would run on windows CE/Mobile. That would need rebuilding for that particular platform.