在 c/c++ 中发布产品的最佳实践是什么?在窗口中?
我们知道PE二进制文件通常依赖于各种动态链接库来工作,但是我们如何确保所有用户都存在这样的dll呢?
PE产品如何发布?
As we know a PE binary usually depends on various Dynamic Link Library to work, but how can we make sure such a dll exists for all users?
How is a PE product released?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这取决于 DLL。不幸的是,Windows 对于共享依赖关系来说很糟糕(特别是与 GNU/Linux 等系统相比)。确保您拥有正确的 DLL 的唯一可靠方法是将它们与可执行文件一起提供。如果您正在进入要安装到系统文件夹的库,并且您怀疑那里可能已经有副本(可能是与您的版本不同的版本),请阅读有关清单和并排程序集的信息。
It depends on the DLL. Unfortunately, Windows is terrible for shared dependencies (especially compared to systems like GNU/Linux). The only sure-fire way to ensure that you have the correct DLLs is to ship them with your executable. If you're getting into libraries that you want to install to the system folder and you suspect that there might already be copies there, possibly of a different version than yours, read about manifests and side-by-side assemblies.