gpt4 book ai didi

c++ - VS 2015 C++ Redistributable 不在单个 DLL 中?

转载 作者:行者123 更新时间:2023-11-30 05:26:15 26 4
gpt4 key购买 nike

假设我使用 Visual Studio 2015 将以下 C++ 代码构建到 HelloWorld.exe 中,目标版本为 x64 平台。

#include <iostream>

int main()
{
std::cout << "Hello world!!" << std::endl;
return 0;
}

几年前,我可以简单地复制 msvcp###.dll(或 C 的 msvcr###.dll)和 HellowWorld.exe 并有一个可运行的程序。

我刚刚安装了VS2015,现在看来不能只带msvcp140.dll了。我的 System32 文件夹中似乎有 70 ~ish api-ms-win-.....dll 文件需要随附。

我知道最好的策略是让他们安装可再发行组件...但在他们不能安装的情况下,复制 .DLL 曾经是一个可行的替代方案。现在还是这样吗?我是不是漏掉了一些简单的东西?

总结一下:我原以为我可以只复制 msvcp140.dll 让它工作,但事实似乎并非如此。我错了吗?

注意:我在 list of things you are allowed to redistribute 中没有看到 api-ms-....dll 文件.或者它是否理解这是 2015 运行时的一部分并且随之而来?

最佳答案

我倾向于静态链接运行时(/MT 和/MTd 编译器选项),而不是安装可再发行组件。

它确实会导致文件变大,但比目前发布的 DLL 小。

关于c++ - VS 2015 C++ Redistributable 不在单个 DLL 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37869380/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com