我用vc编的所有程序在没有安装vc的机器上都因为缺少某些dll文件而无法运行,我不知道怎样才能在编译的时候把这些dll文件包含进去。请问应该怎样做?多谢

解决方案 »

  1.   

    在建mfc程序向导里有一项选择使用静态库,这样vc会自动将dll放到你的exe里
    如果你已经写好了一个没有使用静态编联的程序的话,想改是不容易的,但你可以将需要的dll文件放在和你的exe文件在一个文件夹下,拿到别的机子上也是可以运行的,因为exe运行时会先找同文件夹下是否有所需的dll,如果你不知道你的exe到底需要哪些dll,你可以上网下载一个软件,名字叫DLLSHOW,它很容易使用,并且可以告诉你你的exe所需的dll
      

  2.   

    是哪些Dll,说几个听听你生成的不会是Debug版吧,应编成Release版
      

  3.   

    呵呵 最笨的办法是记录下你程序到底需要那些DLL 然后打包的时候把这些DLL打进去就OK了
    好一点的办法你可以安装VC盘里面的INSTALLSHIELD FOR VC++ 它里面可以监视你的程序到底用了那些DLL
      

  4.   

    当你用调试时在调试窗口里可以看到要加载哪些dll
    mfc42d.dll
    msvcrtd.dll
    等,
    不过kernl32.dll
    gdi32.dll
    user32.dll
    不要找,系统都有的
      

  5.   

    vs6.0 有个工具depends工具,可以看一个执行文件运行需要那些dll,但是对于动态加载的不行.