vs 2015 C 重新分布可在单个DLL中
VS 2015 C++ Redistributable not in a single DLL?
假设我将以下C 代码构建为HelloWorld.exe
,使用Visual Studio 2015,定位版本,平台X64。
#include <iostream>
int main()
{
std::cout << "Hello world!!" << std::endl;
return 0;
}
几年前,我可以与HellowWorld.exe
一起复制msvcp###.dll
(或msvcr###.dll
)并具有可运行的程序。
我刚刚安装了VS2015,现在看来我不能只带上msvcp140.dll
。我的System32
文件夹中似乎有70〜ISH api-ms-win-.....dll
文件。
我知道最好的策略是让他们安装可重新分配的问题...但是对于无法复制.dll曾经是可行的替代方案的情况。仍然是这样吗?我错过了一些简单的东西吗?
总结:我以为我可以复制msvcp140.dll
并使其起作用,但事实并非如此。我错了吗?
注意:我在允许重新分配的内容列表中没有看到api-ms-....dll
文件。还是理解这是2015年运行时的一部分,随之而来的是?
而不是处理Redistibutables,我倾向于静态地链接运行时(/MT和/MTD编译器选项)。
它确实会导致更大的文件大小,但比远处的DLL小。
您可以向安装程序分发VC 2015。
https://www.microsoft.com/en-us/download/details.aspx?id=48145
如果不是一个选项,请静态链接。
您还可以运行取决于确定您需要的其他DLL。您可以忽略API-MS*.dll的:依赖关系Walker:缺少DLL
相关文章:
- 挂起和取消挂起一个文件DLL
- std::threads可以从Windows DLL中的全局变量创建/销毁吗?
- 导入库可以跨dll版本工作吗
- 从C++dll访问C#中的一行主要参数
- 链接到自行创建的dll失败
- 为什么使用 P/Invoke 调用 dll 时,某些计算机中的 LoadLibrary 失败?
- 在调用FreeLibrary后,释放动态链接到具有相同版本的CRT堆的DLL的内存
- 如何将一个ostringstream十六进制字符串字符对转换为单个unit8t等价的二进制值
- 如何指定我希望我的LIB链接到的DLL文件?-Visual Studio 2019
- vs 2015 C 重新分布可在单个DLL中
- 将非托管和托管dll合并到DotNet中的单个dll中
- 许多函数的单个DLL入口点
- 2个项目可以在MS VS 2008中创建单个DLL
- 无法在跨多个 DLL 的标头中定义单个对象
- 单个类实例在GUI exe和dll中是不同的
- 如何在vc++中在多个进程中加载单个DLL
- 如何在单个Windows环境中准备生成.dll和unix .so的构建作业
- Qt构建到一个没有dll的单个exe文件
- 如果一个应用程序中的多个线程调用单个DLL会发生什么?
- c++:如何在没有mingwm10.dll的情况下发布单个可执行文件