编译方式为ReleaseMinDependency时,生成的dll在使用中不再起作用,已经注册过了,是不是还缺少什么东西?
使用debug方式的dll可以起作用,大家帮看看,在线等

解决方案 »

  1.   

    若将“常规”属性页中的“ATL   的使用”属性设置为“静态链接到   ATL”,并将“代码生成”属性页中的“运行时库”属性设置为“单线程   (/ML)”或“多线程   (/MT)”(在   C/C++   文件夹中),则为   MinDependency   配置。
        
      若将“常规”属性页中的“ATL   的使用”属性设置为“动态链接到   ATL”,并将“在   ATL   中最小使用   CRT”设置为“是”,或将“代码生成”属性页中的“运行时库”属性设置为“多线程   DLL   (/MD)”(在   C/C++   文件夹中),则为   MinSize   配置。 
       
      MinSize   使得输出文件尽可能地小,但要求在目标计算机上安装   ATL71.dll   和   MSVCR71.dll(如果选中了“多线程   DLL   (/MD)”选项)。ATL71.dll   应在目标计算机上注册,以确保具有所有   ATL   功能。要注意,ATL   DLL   的   ANSI   和   Unicode   版本具有相同的名称:ATL71.dll。不能在   Windows   98   或   Windows   Me   计算机上重新发布   Unicode   版本;必须用   ANSI   版本(位于产品   CD   或   DVD   的   Win\System\Ansi   文件夹中)。  
       
      如果为   MinDependency   目标生成   ATL   或   OLE   DB   模板项目,则不需要在目标计算机上安装和注册   ATL71.dll,虽然可能获得较大的程序映像。
      

  2.   

    看一下你目标计算机上是否有 对应版本的 ATL dll和 MSVCR dll
      

  3.   

    http://support.microsoft.com/kb/201191/zh-cn