c – 模块“MyShellExt.dll”无法加载
我在Visual Studio 2010中编写了一个
Shell扩展.
它实现了一个Context Menu Handler和File Icon Handler. 在使用Visual Studio的计算机上,它运行良好.但在其他计算机上,注册MyShellExt.dll失败并显示消息
我检查了依赖项,发现以下文件必须与MyShellExt.dll在同一个文件夹中:msvcr100.dll,msvcp100.dll,atl100.dll. 这意味着我应该将这些库包含在我的安装包中. 如何关闭使用这些库? 解决方法
这些库是C运行时,C运行时和ATL运行时.从那时起,您无法关闭前两个对于启动程序运行至关重要.但是,您可以静态链接到它们,因此您不需要像DLL那样携带它们.为此,您转到项目设置C/C++,代码生成,运行时库并选择“多线程”或“多线程调试”而不是“多线程DLL”或“多线程调试DLL”.确保在所有设置配置中都这样做(Debug,Relaese等’)
至于第3个库(ATL100.dll),它也可能受此设置的影响,我不确定.如果停止使用从中导入的函数,则可以删除.依赖性walker可以告诉您从该库中使用的函数.如果可以;停止使用该函数,那么该库也可能具有静态版本(.lib文件而不是.dll文件) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |