【问题标题】:how to make static libraries runtime requirement for the CRT {static, DLL} vary by project?如何使 CRT {static, DLL} 的静态库运行时要求因项目而异?
【发布时间】:2014-05-03 14:19:26
【问题描述】:

我有一个用 C++ 编写的 .lib,我以两种不同的方式使用它

  1. 链接到不能依赖动态加载的 CRT 的 .EXE
  2. 必须使用动态加载的 CRT 的托管 C++ DLL

...如果我将 lib 的运行时库要求指定为 DLL,#1 很高兴,但 #2 不满意。如果我将 lib 的运行时库要求指定为静态 #1 会变得不开心,而 #2 会开心

我该如何解决这个问题?我真的宁愿没有两个项目/解决方案?

【问题讨论】:

    标签: visual-studio winapi


    【解决方案1】:

    一种选择是向您的解决方案添加新配置。

    目前,您很可能拥有名为 DebugRelease 的配置。

    确保两种配置都使用动态加载的 CRT。

    Debug 配置复制为Debug Static,将Release 复制为Release Static。将Debug 重命名为Debug Dynamic,将Release 重命名为Release Dynamic

    更改两个静态配置以使用静态 CRT。

    当您构建项目时,您将获得单独的库的 Release DynamicRelease Static 版本,您可以分别与托管 DLL 和 EXE 一起使用。

    【讨论】:

      猜你喜欢
      • 2020-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-16
      • 1970-01-01
      • 2016-10-22
      • 2014-10-06
      相关资源
      最近更新 更多