【问题标题】:deploy simple C++ application部署简单的 C++ 应用程序
【发布时间】:2012-08-08 17:46:49
【问题描述】:

我已经编写了一个简单的 C++ 程序,现在我想在另一台计算机上使用它。

我使用 Visual Studio 2010 进行开发,我在其中只使用标准库函数(iostream、fstream、字符串等),但是当我尝试在 Win XP 机器上运行它时,它不会运行。它说程序需要某些dll才能运行。

部署程序的最简单方法是什么,以便在 Visual Studio 中编译后不仅生成可执行文件 (.exe),还生成 .dll。

注意:我不想使用 Visual Studio 安装程序。

PS:我会很感激有关部署应用程序的好文章的链接。

【问题讨论】:

  • 用VC++ 6.0编译。据我所知,易于分发是那个古老的编译器仍然存在的一个重要原因:-)
  • 您需要包含 Viscual C++ 运行时库,或静态链接它。
  • 如何选择编译器/查看哪些是 Visual C++ 运行时库(虽然我的项目中没有使用它们)?

标签: c++ visual-studio-2010 dll deployment


【解决方案1】:

正如上面的评论所说,您可以以静态方式链接到标准运行时(不是 100% 确定如何做到这一点,尽管我相信您可以通过谷歌搜索)或者您可以安装 Microsoft 的可再发行运行时:

http://www.microsoft.com/en-ca/download/details.aspx?id=5555(x86 或 32 位) http://www.microsoft.com/en-ca/download/details.aspx?id=14632(x64 或 64 位)

所以在目标机器上安装这些,然后试试你的程序。

【讨论】:

    【解决方案2】:

    http://www.microsoft.com/en-us/download/details.aspx?id=5555

    此链接提供使用 VS2010 构建的项目所使用的 C 和 C++ DLL 的分发包。

    请注意支持的操作系统,即:

    带有 Service Pack 3 的 Windows XP(除 Starter Edition 之外的所有版本)

    http://msdn.microsoft.com/en-us/library/zebw5zk9(VS.100).aspx

    此链接是部署指南,因此最终用户无需自行搜索这些库。另外,仅供参考,发布版本和调试版本之间存在差异,我非常怀疑第一个链接中的安装是否提供了运行时的任何调试版本。

    【讨论】:

    • 我想自己提供 .dll(只是我使用的那些),而无需用户安装任何东西。
    • msdn.microsoft.com/en-us/library/8kche8ah Link 提供了一份详尽的基于依赖关系的 DLL 列表。将这些与您的应用程序一起打包。同样,正如其他人所说,您可以将您的应用程序链接到静态库,这将消除分发 DLL 的麻烦。
    • 这就是我所需要的。在您的答案中添加链接,我会接受。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-30
    • 2012-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多