2016-10-18 3 views
0

Ich versuche, einfachen Code mit openmp zu kompilieren. Hiericpc: Kommandozeilenfehler: Option '-openmp' nicht unterstützt

ist der Code (Datei test.cpp):

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

ich kompilieren mit dem folgenden Befehl:

icpc -openmp test.cpp 

das Ergebnis:

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

OS Debian X64

Können Sie Hilfst du mir bitte?

Update:

-fopenmp mit gibt den gleichen Fehler.

Von hier aus: https://software.intel.com/en-us/node/522690

Befehlszeilen Beispiele, Linux * Zum Kompilieren und Link (Build) die gesamte Anwendung mit einem Befehl die Intel OpenMP-Bibliotheken verwenden, geben Sie die folgenden Intel® C++ Compiler-Befehl auf Linux * Plattformen:

C Quelle

icc -openmp hello.c

C++ Quelle

icpc -openmp hello.cpp

UPDATE2:

-qopenmp gibt den gleichen Fehler. Ich habe Intel System Studio installiert und verwende den Compiler von/opt/intel/bin. In PATH ist nichts mit Intel verbunden. Vielleicht sollte ich etwas zu PATH hinzufügen, damit Intel erkennt, dass es openmp verwenden kann. Ich habe versucht, nur zu PATH/opt/intel/bin hinzuzufügen.

+0

Siehe meine aktualisierte Antwort. –

+0

Verwenden Sie zufällig den Cross-Compiler, der auf Embedded-Hardware abzielt? –

Antwort

0

Wie wäre es

-qopenmp

denke ich, das ist der offizielle Weg Sie OpenMP zu Intel-Compiler hinzuzufügen.

Wenn Sie unter Windows sind, dann verwenden:

/Qopenmp

+0

'-fopenmp' wurde vom Intel-Compiler nie erkannt. Die Option war "-openmp" und wurde in den letzten Versionen durch "-qopenmp" ersetzt. –

1

-openmp verwendete die Option sein zum Ermöglichen der OpenMP-Unterstützung in älteren Versionen der Intel-Compiler. In den neueren Versionen ist die Option -qopenmp.

In jedem Fall, auch die neueste Version (17.0) übernimmt -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' 

Daher gibt es wahrscheinlich etwas mit dem Setup der Intel-Compilern. Als Hinweis neigen Intel-Compiler dazu, Fehlernummern für nicht erkannte Optionen auszugeben.Stellen Sie sicher, dass icpc tatsächlich der Intel-Compiler und kein Wrapper um GCC oder einen Alias ​​ist.

+0

"% icpc" könnte auch hier nützlich sein ... –

Verwandte Themen