MSVC 运行时依赖性问题
我已经构建了几个使用 MSVCRT.lib 的 DLL,它们都已成功创建,但是在 Dependency Walker 中缺少 5 个依赖项,其中 1 个是我的,无需担心。
其他 4 个依赖项是 MSVCP90.dll MSVCR90.dll GPSVC.DLL 延迟加载 IESHIMS.DLL 延迟加载
我读到 IESHIMS.DLL 无需担心。如果不需要,如何指定我的 DLL 不包含 GPSVC.DLL。是否有一个链接器选项。
注意:我正在通过 Maven 脚本的命令行进行此编译。
I have built several DLL's that use the MSVCRT.lib, which have all been successfully created however in Dependency Walker there are 5 missing dependencies, 1 of which is mine and is nothing to worry about.
The other 4 dependencies are
MSVCP90.dll
MSVCR90.dll
Delayed load of GPSVC.DLL
Delayed load of IESHIMS.DLL
I read that IESHIMS.DLL is nothing to worry about. How can I specify to my DLL to not include GPSVC.DLL if it is not needed. Is there a linker option for it.
Note: I am doing this compile by command line from a maven script.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
GPSVC.DLL 是组策略客户端。它是延迟加载的,因此只有在使用时才会加载。如果您没有使用组策略 API,则可以忽略它。
GPSVC.DLL is the Group Policy client. It's delay loaded, so it will be loaded only when used. If you are not using Group Policy API, you can just ignore it.
对于 Windows,msvc 运行时通常不存储在您的应用程序目录中。因此,为什么依赖遍历器会将它们显示为缺失。可能有一个选项来指向它们所在的目录,但我认为这很可能不是必需的。
With windows the msvc runtimes are usually NOT stored in your application directory. Hence why dependency walker will show them as missing. There may be an option in depends to point to the directory where they are located, but I think that most likely not necassary.