我用vc2005写的一个程序在vista系统下编译,在xp系统上运行,出现了错误提示
说是 side by side 错误.
用的链接库是:Multi-threaded DLL (/MD)
改用Multi-threaded (/MT)就没有问题.请问如何在使用Multi-threaded DLL (/MD)链接库的情况下,使程序可以在XP下正常运行?我以实验过一下方法:
1.拷贝Microsoft Visual Studio 8\VC\redist\x86\Microsoft.VC80.CRT文件夹下的文件到程序目录下
2.单独编译Menifest文件.
3.不 embed Menifest文件.
这些方法都不行.
说是 side by side 错误.
用的链接库是:Multi-threaded DLL (/MD)
改用Multi-threaded (/MT)就没有问题.请问如何在使用Multi-threaded DLL (/MD)链接库的情况下,使程序可以在XP下正常运行?我以实验过一下方法:
1.拷贝Microsoft Visual Studio 8\VC\redist\x86\Microsoft.VC80.CRT文件夹下的文件到程序目录下
2.单独编译Menifest文件.
3.不 embed Menifest文件.
这些方法都不行.
msvcp80d.dll
msvcr80d.dll
Microsoft.VC80.DebugCRT.manifest把这几个文件拷贝到目标机器上,与运行程序同一文件夹或放到system32下,就可以运行那个程序了。
Use Standard Windows Libraries。这样编译的程序可能会大一些。
只允许用Multi-threaded DLL (/MD)连接方式.
有好的解决方法吗?
将Program Files\Microsoft Visual Studio 8\VC\redist下相应平台的Microsoft.VC80.MFC.manifest和Microsoft.VC80.CRT.manifest拷贝到应用程序目录即可。如果用到了atl库,则还要Microsoft.VC80.ATL.manifest。
我按照这个方法作了,可是程序依然不能运行.