Well, you're talking about cross-compiling. Cross compiling needs to prepare a cross compilation environment. Using qmake under linux to generate a win32 app will result on a win32 makefile generated. But when compiling, you miss all win32 environment.
The problems you meet when trying to compile in Windows may come from multiple reasons, the first being using non portable functions. But from what you you tell, might simply be you have a recent (3.2.x) version on Linux and an older version in Windows.
To really trace your problem, relative versions and .pro file could help.
Never patch not working code. Rewrite it !
Never patch badly designed classes. Recreate them cleanly.
(Excerpts from Computing Bible)
Home of the Lab project