我已经在 Dependency Walker 中打开了我的程序。它显示以下 DLL:
- GDI32.DLL
- OLEAUT32.DLL
- IMM32.DLL
- WINMM.DLL
- KERNEL32.DLL
- USER32.DLL
- SHELL32.DLL
- OLE32.DLL
- ADVAPI32.DLL
- WS2_32.DLL
- MSVCP100.DLL
- MSVCR100.DLL
所以我猜其中一半是 Windows 的一部分,另一半是 C++ 的一部分,对吧?找出哪些是操作系统的一部分,哪些不是操作系统的最佳方法是什么?
最佳答案
不要打包任何您自己没有明确添加到项目中的 DLL。
阅读您的工具链(Visual Studio 或其他工具)的文档,了解是否有您需要包含在您的包中的任何可再发行组件。这些可能包括一些 DLL。
如果不允许您发布安装程序(其形式通常由上述 Microsoft 产品的可再发行组件采用),那么您不应简单地手动转储 DLL。您应在您的发行说明中注明这些依赖项必须已经安装在目标系统上。您将它们作为申请的先决条件。
关于c++ - 我现在如何知道哪些 DLL 是 C++ 的一部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15855207/