C++ visualc&x2B+;wxWidgets应用程序仅在我的电脑上运行

C++ visualc&x2B+;wxWidgets应用程序仅在我的电脑上运行,c++,wxwidgets,C++,Wxwidgets,我在VisualStudio中使用wxWidgets开发了一个应用程序,在我的机器上一切正常。我试图在另一台电脑上运行我的应用程序,但出现了“ucrtbase.dll丢失”等错误。然后我尝试更改为多线程(/MT)模式,并将调试更改为发布模式,但随后我无法在我的电脑上运行该应用程序,因为wxWidgets中的所有内容都有红色下划线。您需要提供Visual Studio运行时库(也称为Visual Studio可再发行文件)与应用程序一起使用。Visual Studio生成的所有应用程序都需要这些文

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

您需要提供Visual Studio运行时库(也称为Visual Studio可再发行文件)与应用程序一起使用。Visual Studio生成的所有应用程序都需要这些文件。
当然,您还需要包括您可能正在使用的任何其他库(如wxWidgets)。

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

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


试一试,遇到问题时再问个别问题。

谢谢,我也尝试过用exe复制所有DDL,但没有成功either@Pyrex谷歌“visual studio可再发行”与您的VS版本相匹配。MS有一个很好的MSI安装程序,您可以下载、包含并与应用程序一起安装。ucrtbase.dll是一个通过Windows Update分发的操作系统组件。请确保它有机会更新此计算机。并非所有内容都可以静态链接,您也不总是希望这样做。您很可能总是这样做如果你的应用程序是非平凡的,那么你必须随它提供一些动态库,所以你最好先学习如何这样做。@JesperJuhl我完全不同意。我已经提供非平凡的应用程序很多年了,并且总是使用静态链接。避免“DLL地狱”总是值得的如果您将客户端暴露于DLL地狱,您将丢失它们。@RavenPoint经常出现,特别是在封闭源代码应用程序中使用开源库时,如果您想遵守开源库的许可证,您实际上没有静态链接的选项。(这不适用于wxWidgets,但也适用于许多其他。)@LauriNurmi不开发封闭源代码的应用程序。它们充满了bug,并且存在严重的质量问题。