【问题标题】:Linking to the VC++ runtime statically while including static libraries that linked to it dynamically静态链接到 VC++ 运行时,同时包含动态链接到它的静态库
【发布时间】:2020-08-28 10:08:59
【问题描述】:

我想(Windows,VS2019)将 VC++ 运行时静态链接到我的 C++ 应用程序。我遇到的问题是,即使我设置了应该使链接器静态链接到运行时的 /MT(多线程非 dll)选项,它也不起作用。对于所有动态链接到运行时的库,我收到错误“为运行时库检测到不匹配”。基本上'它告诉我,如果我有没有的库,我就无法静态链接到运行时。

我见过像 this one 这样的问题

如果您使用任何其他库,您可能需要告诉链接器明确忽略动态链接的 CRT。

现在我不知道该怎么做,也不知道它是否会起作用。我的问题是:当我拥有的静态库动态链接到它时,有没有办法将我的整个应用程序静态链接到 VC++ 运行时?

提前谢谢大家

【问题讨论】:

    标签: c++ visual-studio


    【解决方案1】:

    您可以在Properties->Linker->Input->Ignore Specific Default Libraries 中设置Ignore Specific Default Libraries。

    如果要将整个应用程序静态链接到 VC++ 运行时,则需要设置debug 和release 中的选项。

    1.Properties->Configuration Properties->General->Use of MFC->Use MFC in a Static Library(如果你使用MFC)

    2.Properties->配置属性->C/C++—代码生成->运行库->多线程(/MT)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-01
      • 2017-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多