【发布时间】:2019-02-14 13:56:57
【问题描述】:
在这个问题“Checking the gcc version in a Makefile?”中回答了如何提取 gcc 编译器的版本。但是,这似乎不适用于 icc 和 ifort 等英特尔编译器?
有谁知道使用icc --version 或ifort --version 使其提供相同的输出
【问题讨论】:
-
icc --version或ifort --version不适合您吗? -
它们工作,但输出不适合我需要它们。我需要这些数字,这样我就可以在我的 makefile 中相应地设置一个特定的标志。类似 `if version > 15;然后 FLAG=+ DINTEL_NEW
-
啊,所以你问的是“给定一个像
ifort (IFORT) 19.0.1.144 20181018这样的字符串,我怎样才能提取数字部分?”? (顺便说一句,检查编译器的版本至少为 x,通常最好将其编写为测试您使用的编译器是否支持您所需要的。这样您就不必担心有自定义每个编译器/版本的脚本(考虑 ifort 24 可能使用不同的报告方案。) -
是的,这就是我要找的。例如,我知道 15.0.1 之前的编译器不支持某个功能,但之后的编译器支持。所以在我的代码中,我会有一些预处理器来检查是否应该编译 X 块代码。
-
你有 awk 还是 perl?
标签: makefile icc intel-fortran