C++ 检测Visual Studio项目';s属性
我正在从事一个项目,其中Intel MKL很好,但并非在所有目标平台上都可用,因此我必须检查它的存在是否相应 我已在Visual Studio项目的属性中启用了C++ 检测Visual Studio项目';s属性,c++,visual-studio,intel-mkl,C++,Visual Studio,Intel Mkl,我正在从事一个项目,其中Intel MKL很好,但并非在所有目标平台上都可用,因此我必须检查它的存在是否相应 我已在Visual Studio项目的属性中启用了英特尔性能库,如中和中所述,但我没有得到中所述的任何预处理器定义,例如\uu英特尔MKL\uuu未定义 你知道我该怎么做吗?或者任何其他检测英特尔MKL的方法?我找到了一种很好的折衷方法,但不是很优雅 显然,我们可以在构建事件中检查属性页设置的值。在发现一个名为UseIntelMKL的宏后,我决定将config.h相应地绑定到它的值,并使
英特尔性能库
,如中和中所述,但我没有得到中所述的任何预处理器定义,例如\uu英特尔MKL\uuu
未定义
你知道我该怎么做吗?或者任何其他检测英特尔MKL的方法?我找到了一种很好的折衷方法,但不是很优雅 显然,我们可以在构建事件中检查属性页设置的值。在发现一个名为
UseIntelMKL
的宏后,我决定将config.h
相应地绑定到它的值,并使用此config.h
中定义的预处理器指令
这里大致是充当预构建事件的脚本。我基本上是在config MKL.h
中定义自己
if "$(UseIntelMKL)"=="Parallel" (
xcopy /Y /I $(ProjectDir)config-mkl.h $(ProjectDir)config.h
) else (
xcopy /Y /I $(ProjectDir)config-nomkl.h $(ProjectDir)config.h
)
这不是一个解决方案,而是一个黑客,我的朋友。:)我发布了一个解决方案。请阅读我的问题和我的评论,这是关于检测Visual Studio项目属性中是否启用了英特尔MKL的。该项目仅适用于Windows,您建议安装另一个构建系统。我在这里所做的只是检测Visual Studio项目的属性中是否启用了英特尔MKL。它是一个构建系统生成器。例如,它有助于在Windows上生成命令行,例如VS解决方案等,但它允许您在计算机上保留多个版本的MKL。并允许您使用英特尔编译器进行编译。。。。但是,嘿,它对你有用,所以。别见怪祝你好运。