icpc:命令行错误:不支持选项'-openmp'

时间:2016-10-18 12:14:15

标签: c++ openmp icc

我正在尝试使用openmp编译简单代码。

这是代码(文件test.cpp):

int main()
{
    double a[100];
    #pragma omp parallel for
    for (int i = 0; i < 100; ++i) {
        a[i] = i;
    }
    return 0;
}

我使用以下命令编译:

icpc -openmp test.cpp

结果是:

icpc: command line error: option '-openmp' not supported

OS Debian X64

你能帮我吗?

更新:

使用-fopenmp会产生同样的错误。

从这里开始:https://software.intel.com/en-us/node/522690

命令行示例,Linux * 要使用Intel OpenMP库使用一个命令编译和链接(构建)整个应用程序,请在Linux *平台上指定以下英特尔®C++编译器命令:

C源

icc -openmp hello.c

C ++来源

icpc -openmp hello.cpp

UPDATE2:

-qopenmp给出了同样的错误。 我安装了intel system studio,并使用/ opt / intel / bin中的编译器。在PATH中没有任何与英特尔相关的东西。也许我应该为PATH添加一些东西,以便英特尔认识到它可以使用openmp。我试过只添加到PATH / opt / intel / bin。

2 个答案:

答案 0 :(得分:1)

-openmp曾经是在旧版本的英特尔编译器中启用OpenMP支持的选项。在较新版本中,该选项为-qopenmp

无论如何,即使最新版本(17.0)也接受-openmp

$ icpc -openmp test.cpp
icpc: command line remark #10411: option '-openmp' is deprecated and will be removed in a future release. Please use the replacement option '-qopenmp'

因此,英特尔编译器的设置可能存在问题。作为提示,英特尔编译器倾向于为无法识别的选项发出错误号。确保icpc确实是英特尔编译器,而不是GCC或别名的包装。

答案 1 :(得分:0)

怎么样

-qopenmp

我认为这是将OpenMP添加到intel编译器的官方方式。

如果您使用的是Windows,请使用:

/Qopenmp