如何将静态发布库链接到调试构建中

How can a static release lib be linked into a debug build?

本文关键字:调试 构建 链接 布库 静态      更新时间:2023-10-16

Gameplay项目分发了一组所有依赖项的静态库。它们包含的库将链接到应用程序的调试或发布版本中。我在它们的lib上运行了string命令,并将其与我编译的命令进行了比较。链接器指令/FAILIFMISMATCH:"RuntimeLibrary=MD_DynamicRelease"是在我的库中设置的,但不是在他们的库中。

他们是如何以这种方式编译图书馆的?

编辑:澄清

我没有提到下一个分支会发生这种情况,它使用为VS2012编译的lib。库的_MSC_VER为1700。

我知道你不应该链接不同版本的CRT,但我想知道他们是如何以这种方式编译的。

MS似乎已经从vs2012开始添加/FAILIFMISMATCH:"RuntimeLibrary行。/FAILIFMISMATCH本身是在vs2010中引入的。我已经检查了Gameplay项目的sln文件,它正在使用vs2010。尝试使用vs2010,看看该指令是否已消失。

我想您已经知道这一点,但指令是否存在并不重要,因为您无论如何都必须匹配运行库编译选项。