Binaries compiled on a OS X 10.6 computer, by default, can only run on a 10.6 computer. This is, in part, due to load commands that the 10.5 linker (dyld) can't understand. from load commands that Mac OS X's linker.
There's also a significant change in how the Link Edit tables
In addition, the Link Edit tables in 10.6 are compressed by removing unused and unneeded bits of information. The 10.5 linker can't read this format.
To resolve this issue, the linker flag
"-mmacosx-version-min=" is heavily used and depended on.
Apple, recommends that all developers now use this flag along with the
appropriate SDK headers when creating an application/binary.