【问题标题】:Visual C++ wxWidgets app does only work on my PCVisual C++ wxWidgets 应用程序只能在我的 PC 上运行
【发布时间】:2018-06-22 16:54:06
【问题描述】:

我在 Visual Studio 中使用 wxWidgets 开发了一个应用程序,在我的机器上一切正常。我试图在另一台电脑上运行我的应用程序,但出现“ucrtbase.dll missing”等错误。然后我尝试更改为多线程(/ MT)模式并将调试更改为发布模式,但随后我无法运行该应用程序我的电脑,因为 wxWidgets 中的所有内容都带有红色下划线。

【问题讨论】:

  • ucrtbase.dll 是一个通过 Windows 更新分发的操作系统组件。确保它有机会更新这台机器。

标签: c++ wxwidgets


【解决方案1】:

您需要将 Visual Studio 运行时库(也称为 Visual Studio 可再发行组件)与您的应用程序一起提供。 Visual Studio 构建的所有应用程序都需要它们。 您还(当然)需要包含您可能正在使用的任何其他库(例如 wxWidgets)。

【讨论】:

  • 谢谢,我也尝试使用 exe 复制所有 ddls,但它也不起作用
  • @Pyrex google 用于匹配您的 VS 版本的“Visual Studio Redistributable”。 MS 有一个不错的 MSI 安装程序,您可以下载、包含并安装在您的应用程序旁边。
【解决方案2】:

通过静态链接到您的库,您可以大大简化您的生活(以及您用户的生活!)。

这是一个很大的话题,但首先要做的是阅读如何构建和链接到静态 wxWidgets 库。

试一试,然后在遇到问题时提出个别问题。

【讨论】:

  • 并非所有内容都可以静态链接——您也不一定总是希望这样做。如果您的应用程序不重要,您很可能总是需要随应用程序提供 一些 动态库,因此您不妨提前学习如何这样做。
  • @JesperJuhl 我完全不同意。多年来,我一直在发布非平凡的应用程序,并且总是对所有内容使用静态链接。避免“DLL Hell”总是值得的 如果您将客户端暴露给 DLL Hell,您将失去它们。
  • @ravenspoint 很多时候,尤其是在封闭源代码应用程序中使用开源库时,如果您打算遵守开源库的许可,您实际上并没有静态链接的选项。 (这不适用于 wxWidgets,但很多其他的。)
  • @LauriNurmi 不要开发闭源应用程序。它们充满了错误并且存在严重的质量问题。
猜你喜欢
  • 2011-11-04
  • 1970-01-01
  • 2019-10-01
  • 2012-07-04
  • 1970-01-01
  • 2011-04-20
  • 2020-11-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多