程序在我自己的电脑上一切正常。但在别人电脑上使用时,提示“无法定位序数XX于XXXX.DLL”。造成这种现象的原因,我猜想是因为我引入了一个函数,即在程序中定位了位于DLL中的函数。
但在别人的电脑上,函数位置发生变化所致。是这样么?这个问题如何解决?
哪位知道,请不吝赐教!!

解决方案 »

  1.   

    使用的DLL版本不同所致。
    制作安装程序,带上自己的DLL。
      

  2.   


    >>MFC版本不对。
    别人的机器没有安装过MFC啊。>>使用的DLL版本不同所致。制作安装程序,带上自己的DLL。
    我猜想这个说法成立。
    从来没做过自己的安装程序,有什么建议么?用什么软件,最好是免费的。
      

  3.   

    你如果给别人的是DEBUG版本的程序,而别人的机器没安装过MFC就会报缺MFC42D.DLL这个动态库
      

  4.   

    方法一:
    在类似C:\Program Files\Microsoft Visual Studio 8\VC\redi
    st\Debug_NonRedist\x86\Microsoft.VC80.DebugCRT 下找到了下列文件:
    msvcm80d.dll
    msvcp80d.dll
    msvcr80d.dll
    Microsoft.VC80.DebugCRT.manifest把这几个文件拷贝到目标机器上,与运行程序同一文件夹或放到system32下,就可以正确运行了。其他release版、MFC程序什么的都是拷redist下相应文件夹下的文件就可以了,文件夹后都有标识!方法二:
    工程-》属性-》配置属性-》c/c++ -〉代码生成里,修改运行时库选项,将/MD或/MDd 改为 /MT或/MTd,这样就实现了对VC运行时库的静态链接,在运行时就不再需要VC的dll了。方法三:工程-》属性-》配置属性-》常规-》MFC的使用,选择“在静态库中使用mfc”
    这样生成的exe文件应该就可以在其他机器上跑了。方法四:你的vc8安装盘上找到再分发包vcredist_xxx.exe和你的程序捆绑安装
    //这是网上搜到的解决方法,其中方法一和三实验过,可以解决你说的问题
      

  5.   

    up and ,,非常强大,,我以前也遇到过同样的问题,,不过我的是本地的,,若移动别的机子上有问题,,
    那最简便的方法就是用Debug版本改用Release版本,,前者是调试版本,,后者是发布版本,,
      

  6.   

    把你本机的MFC相关程序跟EXE一起给出。
      

  7.   

    lz,使用mfc 静态库也可以解决。
    Project->Setting->General->Use MFC in a Static Library.另:MFC版本不对 和 别的机器没安装MFC  有什么关系?难不成别的什么应用程序就不能使用MFC,然后做安装时把MFC库的DLL copy到系统目录?
      

  8.   

    >>"另:MFC版本不对   和   别的机器没安装MFC     有什么关系?难不成别的什么应用程序就不能使用MFC,然后做安装时把MFC库的DLL   copy到系统目录?"I am sorry!!我理解错了,我开始没意识到你说的MFC版本不对,其实是指MFC相关的DLL文件版本不同。
    我用静态数据库的方法把问题解决了。以后我也会尝试一下做安装程序的