首页 文章

Visual Studio C - 如何避免Visual C Redistributable Packages? [重复]

提问于
浏览
0

这个问题在这里已有答案:

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

我知道静态链接可以解决问题 - 然而,这只是我的可执行文件的大小翻倍 .

有没有办法抑制Visual Studio功能,所以redist包不是必需的,仍然使用visual studio编译器,因为我不习惯像mingw等替代品 .

或者redist包实际上是否包含STL?我很难想象 .

2 回答

  • 2

    'redist包'基本上包含库 . 如果你不使用任何库功能,你将不需要它们,但是否则没有办法 - 你不能调用库函数然后没有它 .

    这意味着用<>删除所有包含,你很好 .

    请注意,如果您使用库函数,那几乎不是一个选项 - 您真的不想重新编码strlen,fopen等等 .

  • 1

    AFAIK你只有2个选项:1 . 静态链接 - 没有dll依赖,但是巨大的2.动态链接 - 你需要相应的dll,相对较小的可执行文件 .

    对于#2,您还有2个选项:

    • 将redist安装为独立包

    • 把这个dll 's in same directory with exe . It' s "legal"从MS的观点来看 . (私人组装?)

    希望能帮助到你 .

相关问题