win7下,利用vs2005编写了一个程序,其中调用了第三方库,(第三方库是自己用vs2005编译的,编译第三方库时用到了OpenMP.dll、msvcr80.dll、msvcp80.dll、msvcm80.dll)然后将主程序编译成可执行文件,将该可执行文件、以及相应的dll和manifest文件拿到另外一台没有安装vs2005的机器上运行,提示报错,查看系统日志,发现生成第三方库时调用的OpenMP、以及CRT的版本号都是8.0.50727.762,而vs中OpenMP.manifest中的版本号是8.0.50727.42,而CRT.manifest的版本号是8.0.50727.762。为什么会出现这两个版本号不一致的情况?Visual Studio 2005dllWindows 7

解决方案 »

  1.   

    第三方库是我自己编译的,其编译结果中的manifest文件中的版本号是8.0.50727.762,我奇怪的是为什么vs2005中的CRT.manifest和OpenMP.manifest中的版本号不一致,一个是762,一个是42,很奇怪,vs2005装的SP1.
    不过问题已经解决了,把OpenMP.manifest中的版本号改成762就可以了,不过还是奇怪为什么明明OpenMP的版本号是8.0.50727.42,而编译出的第三方库用的OpenMP却是8.0.50727.762