XP下Qt调用VS10编译的dll库失败,该怎么解决

XP下Qt调用VS10编译的dll库失败
#include <qlibrary.h>
QLibrary metdll("***.dll");
if(metdll.load())
 {
        qDebug()<<"Load dll OK";
        typedef Out (*FUN)(MetIn input);
        FUN p=(FUN)metdll.resolve("FUN");
        if(p)
        {
            qDebug()<<"it exists";
        }
}

我用上面的代码,同样是用Qt,在win7下面能调用那个dll库,在XP下却一直load失败。那个dll库在win7和XP都重新编译过了,都不行。一开始以为是32位和64位的库不能互相调用的问题,但在XP下重新编译了还是不行。希望大家帮忙解决一下,感激不尽!!
------解决思路----------------------
至于64位、32位的不同:

在64位Windows下:
64位exe和dll在目录c:\windows\system32目录下;
32位exe和dll在目录c:\windows\syswow64目录下;
所以要注意:
    在win64位系统下注册32位ocx或dll需要将32位ocx或dll拷贝到c:\windows\syswow64\目录下。
    且注册要用c:\windows\syswow64\regsvr32 xxxxxxx.ocx或dll