编译的程序在其他窗口PC上停止响应

Compiled program stops responding on other windows pc's

本文关键字:响应 PC 窗口 程序 其他 编译      更新时间:2023-10-16

我在VC 14中写了一个程序,该程序在我的PC上完美运行,既可以执行,又是在Visual Studio 2015中进行调试。

但是,当我尝试在另一台PC上运行它时,它停止立即做出响应。使用DEBUG符号,我发现了通过make_uniquemake_shared失败的类实例化,导致Null指针异常。

我已经检查并确保目标机具有必要的VC 运行时环境,并包括我能想到的任何其他DLL。

我还尝试在构建过程中静态地链接必要的库,但没有改进。

我什至尝试了一个安装程序项目,该项目未检测到其他依赖。

我现在不知所措。我还有什么应该寻找的吗?

验证以下内容。

  1. 确保您正在构建发布版本。在没有安装视觉工作室的PC上运行调试构建相对较难。
  2. 确保您具有VC 14运行时的确切版本,包括服务包号。如果您使用VS2015 Update 3,请下载并在目标PC上下载并将其安装在:https://www.microsoft.com/en-us/download/details.aspx?id=53587(正确的平台,32或64)。
  3. 确保您没有任何有趣的预处理程序:您没有_debug,no _secure_scl等。

P.S。与C运行时的动态链接对于发布构建不是一个好主意。一个问题是,在某些Windows版本上,您甚至无法使用离线安装程序都需要更新CRT,因为最近的CRT取决于某些Windows更新。