在VS中编译程序,无需外部运行时DLL



这在某种程度上是这个问题的补充(MSVCP140.dll缺少)。

我正在尝试编译Windows机器的程序。这里要注意的是我没有特权在其上安装软件,但是我可能会运行可执行文件。

每当我在有问题的Windows计算机上运行它时,我都会丢失一个MSVCP140.dll问题。我遵循了我链接的问题的解决方案(这是静态链接),出于某种非常奇怪的原因,我仍会遇到错误(即使我知道这使该程序在遇到相同错误时可以在同事计算机上运行)。

我还能做些什么可以使程序(由于缺乏更好的术语)完全便携式吗?我需要更改其他设置VS,以使其将库将库完全编译到可执行文件中?

我将进一步强调我已经看到使用/MT选项进行编译的解决方案,但我仍然丢失了.dll问题。

我尝试将MSVCP140.dll复制在我的可执行文件旁边,并且确实解决了问题,但是还有另一个丢失的.dll,我无法逐步添加.dll,直到程序开始工作。如果这是唯一的解决方案,我很乐意将所有.dll与该程序捆绑在一起,但我想知道需要哪些。我不必绝望地复制整个System32文件夹。

使用依赖关系沃克(Walker)弄清楚您需要什么dll以及为什么需要它们。这可以是启发性的,并导致通过使用替代方案来削减许多依赖性的途径。如果您确定不会在消费者运行时导入某些功能(例如,仅出于调试目的导入它们),则可以选择延迟加载它们。

最新更新