用VC编的程序,已使用静态库,只使用了VC提供的控件,但编译后无法在其他未安装过VC的机器上使用。

解决方案 »

  1.   

    只要静态链接MFC应该就可以了吧。你用depends看看你的可执行文件都链接了哪些DLL。
      

  2.   

    project setting->general->use MFC in a static library
      

  3.   

    你用depends看看你的可执行文件都链接了哪些DLL,将它们与你的exe放在一起就可以了。
      

  4.   

    静态链接MFC,用depends看看你的可执行文件都链接了哪些DLL或OCX控件,将你使用的控件对应的OCX文件一起安装到运行环境中。
      

  5.   

    你用了哪些控件,有些是office等别的microsoft产品提供的。
      

  6.   

    菜单:Build/Batch Build...
    选择Release,
    在工程所在文件夹中找到Release文件夹,把里面生成的EXE文件拷贝到任何WINDOWS系统下都能运行。
      

  7.   

    我用depends看过执行文件,里面没有OCX控件啊
      

  8.   

    我的操作系统是Win2000,用depends看过执行文件链接了ADVAPI32.DLL,comctl32.dll,COMDLG32.DLL,GDI32.DLL,KERNEL32.DLL,msvcrt.dll,NTDLL.DLL,OLE32.DLL,OLEAUT32.DLL,oledlg.dll,OLEPRO32.DLL,rpcrt4.dll,SHELL32.DLL,shlwapi.dll,USER32.DLL,WINSPOOL.DRV
      

  9.   

    提示什么,如果你用过ActiveX控件,那么,你要先注册该控件
      

  10.   

    可以把4个dll文件拷到那台机器上就可以了,MFC42D.DLL  MFCN42D.DLL MFCO42D.DLL MSVCRTD.DLL
      

  11.   

    可以把4个dll文件拷过去的话,我还要用静态库来编译干什么啊?!
      

  12.   

    release 你的程序
    然后就可以使用在你的release目录下的程序了
    如果,缺少某些.dll文件,可以通过拷贝到release目录下
    程序就可以正常执行。
      

  13.   

    只要静态链接MFC应该就可以了吧。你用depends看看你的可执行文件都链接了哪些DLL