【问题标题】:Missing appcrt140d.dll while trying to run cocos2dx Debug.win32. Where to get the dll?尝试运行 cocos2dx Debug.win32 时缺少 appcrt140d.dll。 dll在哪里获取?
【发布时间】:2016-02-13 09:38:10
【问题描述】:

我在 cocos2dx 的一个游戏项目上合作。我不编码,而是在 Cocos Studio 中处理场景。当我尝试在 proj.win32/Debug.win32 中运行 .exe 构建时,它开始抛出有关缺少 .dll 的错误。我在请求它们时下载了它们(msvcp140d.dll、vcruntime140d.dll),但我在任何地方都找不到 appcrt140d.dll。

你会推荐我做什么?

我尝试安装 C++ Redistributables,但没有任何效果。

【问题讨论】:

  • 您的 Visual Studio 版本是多少?你可能想参考这个问题。stackoverflow.com/questions/32129787/…
  • 我没有安装它 - 嗯,这很可能会解决问题。 @Guilt 还为我提供了一个关于准备测试机器的链接
  • 测试产品的调试版本毫无意义。联系构建它的任何人并要求发布版本。还有丢失的 DLL。

标签: c++ windows visual-c++ msvcrt


【解决方案1】:

d 后缀表示这是 DLL 的 调试 版本。这是有道理的——就像你说的,它被编译为“调试”版本,它将使用 C 运行时库的特殊调试版本,旨在帮助你捕获错误。

您不应该发布应用程序的调试版本以供一般使用。事实上,微软甚至不提供其运行时 DLL 的调试版本。它们被认为是“不可再分发的”。这就是为什么在下载和安装 C++ Redistributables 时没有得到它们的原因。您得到的只是 DLL 的发布版本。

如果您不是程序员,您可能不会发现调试版本特别有用。错误消息对您没有任何意义,额外的错误检查代码只会减慢速度。除非您的程序员朋友特别要求您帮助他调试他的程序,否则您应该要求他提供发布版本。这样,您只需安装适当版本的 C++ Redistributable(版本 14 → VS 2015)。

如果您想运行调试版本,您需要从您的朋友那里获得运行时 DLL 的不可再分发的仅调试版本。它们与 Visual Studio 一起安装。他应该知道在哪里可以找到他们。如果没有,请告诉他查看 \VC\redist\Debug_NonRedist\ 中的 Visual Studio 目录(在 Program Files 目录下)。将所需的 DLL 复制到与 EXE 相同的目录中,您就可以开始工作了。

【讨论】:

  • 感谢您的通俗回答。
【解决方案2】:

这些是运行时环境的调试版本。它们通常在您安装 Visual Studio 2015 时安装。如果您不想这样做,可以在此处找到有关如何继续的更多说明:https://msdn.microsoft.com/en-us/library/aa985618.aspx

【讨论】:

  • 我没有安装 VS,据我了解,我的开发伙伴应该帮助我设置测试 PC。希望它有效,谢谢链接。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-15
相关资源
最近更新 更多