c++ - Visual Studio C++ - 如何避免 Visual C++ Redistributable Packages?

标签 c++ windows visual-studio

<分区>

当我在新安装的计算机上运行我的程序时,它告诉我需要在计算机上安装 Visual C++ Redistributable Package 2015(即 MSVCP140.dll)才能运行我的动态链接程序。

我知道静态链接可以解决问题 - 然而,这只会使我的可执行文件的大小增加一倍。

有没有办法抑制 visual studio 的特性,所以 redist 包不是必需的,并且仍然使用 visual studio 编译器,因为我不习惯 mingw 等替代品。

或者 redist 包实际上包含 STL?我很难想象。

最佳答案

据我所知,您只有 2 个选择: 1. 静态链接——没有dll依赖,但体积巨大 2.动态链接——你需要相应的dlls,相对较小的可执行文件。

至于#2,你还有两个选择:

  1. 将 redist 安装为独立包
  2. 将此 dll 与 exe 放在同一目录中。这是“合法的” 从 MS 的角度来看。 (私有(private)集会?)

希望对您有所帮助。

关于c++ - Visual Studio C++ - 如何避免 Visual C++ Redistributable Packages?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38829125/

相关文章:

c++ - IIS 7 启动时 glfwInit 失败

c# - 让 MSBuild 在 VS15 预览版中使用新的 Roslyn 编译器

c# - 将 C# 应用程序转换为 C++ 枚举

c++ - 如何使用c++11/14来简化这个实现

c# - 是否可以使用 .net 检测来自 Windows 桌面应用程序的音频?

windows - 如何关闭从 visual studio 中打开的 "orphaned"控制台窗口?

visual-studio - 如何在编辑器中隐藏或减少 VS2017 的垂直线

c++ - 如何在运行时加载 COM DLL

c++ - 更快的算法来计算有多少数字可以被一个范围内的特定整数整除

c++ - 我可以在 C++ 类中声明 "using namespace"吗?