不同位操作系统和不同位VS以及库文件的兼容有关问题

不同位操作系统和不同位VS以及库文件的兼容问题
问题如下:
最开始用32位XP+VC6+32位MATLAB搞联合编程,说白了就是在VC中调用了一些MATLAB的lib、dll文件(都是基于32位的),程序能正常运行。
现将该工程拷到如下环境中(lib、dll文件未拷过去):
64位WIN server +64位MATLAB+32位VS2010,运行程序不通过,具体报错情况是:

无法找到或打开XXX.lib文件
这个问题通过将32位系统的lib文件拷过去解决了,运行后又报错:

无法打开XXX.dll文件
这个问题也是通过将32位系统的对应dll文件拷过去解决了,再次运行,还报错,直接提示:

应用程序无法正常启动(0xc000007b)
到这里就不知道如何解决了,网上查了下,据说是DirectX问题?但是我电脑装过D9了。。。

请教这类问题是由什么原因引起的?兼容问题么?是否应该讲三者都换成32或64位的?

------解决方案--------------------
安装vc2010的vcredist_x86.exe

或者把VS2010目录的VC\redist\x86\Microsoft.VC100.CRT和VC\redist\x86\Microsoft.VC100.MFC里的运行库DLL拷过去

或者用静态编译