如何使用find_package()检查我找到的库的运行时版本?我的意思是,我怎样才能找出用于构建给定库的标志 - / MT或/ MD(在Win上)?
编辑:如何检查一般的标志,不一定是cmake?
答案 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中完成。