检测 .lib 是否针对调试 MSVCRT 生成

Detect if a .lib was built against debug MSVCRT

本文关键字:调试 MSVCRT 生成 lib 是否 检测      更新时间:2023-10-16

题主说 - 有没有可靠的方法来检测 .lib 静态库(如果可能的话,还有动态库)是否针对 MSVCRT 的调试版本构建? 例如,是否有任何导入符号可用于检测这一点? 基本上,我有一个使用大量依赖项静态库的应用程序,其中至少有一个需要调试msvcrt,因为生成的可执行文件需要两个版本的运行时。

对于dll,我们可以使用的依赖于Dependency Walker,如果dll依赖于MSVCRxxD.DLL它与调试运行时链接。有关更多信息,请参见使用运行时库。

如果你有cygwin,你可以运行例如

字符串 xxx.lib | grep MSVCRT

字符串 xxx.dll | grep MSVCRT

并查看是否显示 D 版本