部署一个 c++ 应用程序,啥可再发行组件
Posted
技术标签:
【中文标题】部署一个 c++ 应用程序,啥可再发行组件【英文标题】:Deploy a c++ application, what redistributables部署一个 c++ 应用程序,什么可再发行组件 【发布时间】:2018-03-27 02:43:45 【问题描述】:我正在尝试在新服务器(Windows Server 2016)中部署/运行使用 Visual Studio 2017 编译的 C++ 程序。
我已经为 Microsoft Visual C++ Redistributable x86/x64 安装了可再发行组件。
还是不行。
但是,如果我安装 Windows 10 SDK(在 Windows Server 2016 上)它可以工作。
我可以安装一个更小的软件包吗?
-吉娜
【问题讨论】:
听起来您安装了错误的可再发行组件,或者您的应用具有可再发行组件未涵盖的其他依赖项。您是否有理由编译您的应用程序以开始需要外部依赖项? 这是一个第三方应用程序,我只是使用他们的 make 文件来编译它。我认为我没有错误的 redist,只是缺少正确的 redist。 使用Dependency Walker
找出缺少的内容:dependencywalker.com
我尝试了 Dependency Walker,但没有任何反应。如果我遗漏了什么,我会发布结果。
【参考方案1】:
您可能需要 Windows API 存根 DLL,它位于 Windows SDK 文件夹中,例如C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs
您必须根据目标 Windows 版本和应用程序版本使用正确的版本。
【讨论】:
以上是关于部署一个 c++ 应用程序,啥可再发行组件的主要内容,如果未能解决你的问题,请参考以下文章
运行没有运行时可再发行组件的 C++ 二进制文件(Server 2k3、XP SP3)