VS2005库和平台兼容性问题
奇怪的事情总是有的,最近给windows7打了一系列补丁后,发现用vs2005编译出来的DLL不能在某些windows2003上工作。仔细看了一下,发现是系统的库版本不匹配。这个也挺有意思,没有改动什么东西为什么会这样?最后发现,原来还真是在开发平台上的微软运行时库比目标平台上的高了一个保留版本号:8.0.50727.4053 -> 8.0.50727.3053。
解决办法就是修改工程设置中的manifest属性:
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
<dependency>
<dependentAssembly>
<assemblyIdentity type='win32' name='Microsoft.VC80.CRT' version='8.0.50727.4053' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' />
</dependentAssembly>
</dependency>
</assembly>
请注意格式: 库名,[属性=值]
将想法付诸于实践,借此来影响他人是一个人存在的真正价值