Verknüpfen Sie die OpenMP-Bibliothek statisch in C/C++
Posted: 13 Jan 2025, 16:47
Ich habe ein einfaches C++-Programm, das nichts tut:
Ich versuche, dieses Programm vollständig statisch zu erstellen, indem ich den folgenden Befehl verwende:
Alles funktioniert gut. Wenn ich jedoch versuche, OpenMP, das eigentlich keine Bibliothek ist, zu verknüpfen, verwende ich das Flag -fopenmp im statischen Modus wie folgt:
Der Compiler gibt einen Fehler aus:
Dieses Problem tritt auch bei clang++ auf. Das gleiche passiert mit gcc und g++. Andere Bibliotheken, die über statische Versionen verfügen, wie z. B. Curl, verlinken jedoch korrekt im statischen Modus.
(Ich verwende Arch Linux)
Code: Select all
int main() { return 0; }
Code: Select all
g++ -o c c.cc -static
Code: Select all
g++ -o c c.cc -fopenmp -static
Code: Select all
/usr/bin/ld: cannot find -lgomp: No such file or directory
collect2: error: ld returned 1 exit status
(Ich verwende Arch Linux)