【问题标题】:Visual Studio release Application File using Multi Threaded DLLVisual Studio 使用多线程 DLL 发布应用程序文件
【发布时间】:2016-05-02 18:19:27
【问题描述】:

我正在尝试在 Visual Studio 2015 中以发布模式构建应用程序文件。问题是我需要使用多线程 DLL 运行时库选项。当我创建应用程序并尝试在另一台计算机上运行它时,我会收到各种丢失的 dll 错误,例如 msvcp140.dll 和 vcsruntime.dll。有没有办法创建一个应用程序文件,使其拥有所需的一切并且可以在任何计算机上独立运行。

【问题讨论】:

  • 静态链接或安装 Visual Studio 2015 可再发行组件。您可以创建一个安装程序,将可再发行组件作为软件包的一部分,这样您仍然可以安装一个 exe。
  • 这个问题可能会有所帮助:stackoverflow.com/questions/36898212/…
  • 我确实下载了 Visual Studio 2015 可再发行组件。它解决了库的问题,但有一个新问题。每次我尝试输入某些内容时,控制台窗口都会在不运行程序的情况下关闭。有什么想法吗?
  • 我预计这是因为您的程序结束并且您从资源管理器运行它。 Windows 将在结束时立即关闭可执行文件。从cmd.exe 窗口运行它以查看输出。
  • 这不是问题,因为它假设创建一些永远不会被创建的文件,因此它最终不会运行。

标签: c++ dll visual-studio-2015


【解决方案1】:

在“库”下,您应该选择 所有库的“调试多线程 (/libs:static /threads /dbglibs)”。现在,所有需要的 dll 都将链接到您的应用程序。可执行文件会更大一些,但该应用程序应该可以在任何 Windows 计算机上运行。您可以将此选项用于调试版本和发布版本。但请记住,如果您创建自己的 dll 依赖于其他外部 dll(他们经常或总是这样做),您可能仍然会遇到问题。 IE。为了安全;不要创建自己的 dll。

【讨论】:

    【解决方案2】:

    您必须在 exe(已编译)文件旁边保留依赖项。对于此作业,您可以将它们复制到 exe 目录中,或设置环境变量。此外,我建议使用跨平台库,例如 QT。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-26
      • 1970-01-01
      • 2011-09-04
      • 2020-12-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多