gpt4 book ai didi

c++ - 在 VS 中编译程序,无需任何外部运行时 dll

转载 作者:可可西里 更新时间:2023-11-01 11:48:20 25 4
gpt4 key购买 nike

这是对 this question (MSVCP140.dll missing) 的补充.

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

每次我在有问题的 Windows 机器上运行它时,我都会遇到缺少 MSVCP140.dll 的问题。我关注了the solution of the question I have linked (这是静态链接)并且由于一些非常奇怪的原因我仍然收到错误(即使我知道这使程序能够在同事遇到相同错误时在他们的计算机上运行)。

我还能做些什么来使程序(由于缺少更好的术语)完全可移植吗?我需要在 VS 中更改任何更多设置,以便它将库完全编译成可执行文件吗?

我要进一步强调,我已经看到使用静态链接使用/MT 选项进行编译的解决方案,但我仍然遇到缺少 .dll 的问题。

我尝试将 MSVCP140.dll 复制到我的可执行文件旁边,它确实解决了问题,但是缺少另一个 .dll,并且在程序开始运行之前我无法增量添加 .dll。如果这是唯一的解决方案,我很乐意将所有 .dll 与程序捆绑在一起,但我想知道需要哪些,这样我就不必出于绝望而复制整个 system32 文件夹。

最佳答案

尝试使用 dependency walker弄清楚你需要什么 dll,以及你为什么需要它们。这可能很有启发性,并导致通过使用替代方案来消除许多依赖性。如果您确定您没有在消费者运行时导入某些函数(例如,您只是为了调试目的而导入它们),那么您可以选择 delay load他们。

关于c++ - 在 VS 中编译程序,无需任何外部运行时 dll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37947970/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com