cmake:如何检查库的运行时?

时间:2014-09-26 17:41:49

标签: c++ cmake

如何使用find_package()检查我找到的库的运行时版本?我的意思是,我怎样才能找出用于构建给定库的标志 - / MT或/ MD(在Win上)?
编辑:如何检查一般的标志,不一定是cmake?

1 个答案:

答案 0 :(得分:1)

使用列出二进制文件链接的DLL的工具,您可以查看它是否与/ MD链接。

假设你有Cygwin并且可以运行objdump -x c:\path\to\file.exe并使用grep来查看它是否包含一个文件,例如" MSVCP100D.dll":

if objdump -x c:\path\to\file.exe | grep MSVCP100D.dll
then
    # compiled with /MD
else
    # compiled with /MT
fi

如果您不能使用Cygwin,还有其他工具可以检查库,但主体是相同的。 grepping也可以在cmake中完成。