用windnows xp 下开发的VC程序,在windows server 2003或2000中无法运行。听人说,只要在2003下重新编译一下就行了。不知道哪位高手碰到过类似的问题。是不是在2003下重新编译一下就肯定能解决。

解决方案 »

  1.   

    对于这个问题我是这样考虑的,一般来说基于NT内核的操作系统上开发的程序可移植性是很强的,
    一般不会出现楼主叙述的问题,实际上出现的时候我们大概要从两方面考虑解决:
    第一:
    操作系统安装,也就是说要确定所安装的操作系统是否完整,而不是阉割版(ghost版本)的操作系
    统,这类的操作系统制作时为了精简删除了很多东西,至于有没有用制作人恐怕考虑的也不全面,
    所以容易导致这种结果,针对的解决办法只能是重新安装操作系统(换一个版本);第二:
    从应用程序运行时环境考虑出现的问题,比如你是用vc7开发的程序,那运行时肯定要依赖msvc71.dll
    等等的动态链接库,而你应用的平台上并不存在此类的运行时环境,不能运行也就很正常了;
    还有就是你程序开发时的依赖的运行时环境也要考虑,这些是你在发布时都要考虑的事情;以上拙见仅供参考,good luck:)
      

  2.   

    一般情况下,动态库都会做到向下兼容的。当然不同的操作系统下的Dll版本是有一定差异的,使有出现问题的可能的。同意 所说的重编一下的方式。还有一个现象,就是都是XP系统,不同的机器编译出的 DLL可能不一样大的,想想也就知道为啥了?
      

  3.   

    我在 wind003下运行时,都是用的release版,所以应当不存在缺少MFC的DLL的问题。
      

  4.   


    release版还是debug版,与是否缺少DLL没有关系,如果你高兴还可以搞一个ABCDE出来,只是一个名称问题,具体会有怎么样的结果只与其中的配置有关。如果你不需要带着MFC的DLL,你只需要配置成静态链接就成。按你的描述,还无法得出有用的结论。请详细描述一下“无法运行”的症状,是双击可执行文件没有反应?还是显示什么错误信息?甚至于是否跑起来了只是结果与预期不一致?