Cross compile did not work...

I created an RPM package for openSUSE 10.3.0 i686 that worked as I wanted. That was built on openSUSE 10.3.0 i686 with the --target i686. Then I needed to build an RPM package for openSUSE 10.3.0 x86_64. So I did the same rpmbuild command with --target x86_64. After I installed the package it did not work properly. Then I installed the source on a x86_64 openSUSE 10.3.0 computer and build the package with the --target x86_64. This install RPM was very different in size and ran correctly after it was installed.

Does the rpmbuild command cross compile or does it not?

Are additional libraries required?

Why did the command seem to work properly but actually did not work?