Erfordert die Verwendung der POSIX-Headerdatei #include <net/if.h>
auch die Verknüpfung einer Bibliothek? Ich erhalte den folgenden Fehler, wenn ich eine Konstante aus der Header-Datei verwende.Erfordert POSIX if.h die Verwendung einer Bibliothek?
error:
IFNAMSIZ
undeclared
#include <net/if.h>
int main(int argc, char** argv) {
char f[IFNAMSIZ]; // compiler error
return 0;
}
Wenn ich eine Bibliothek benötigen, was ist der Name davon? So etwas wie gcc -o test test.c -lif --std=c11
ist keine gültige Bibliothek. Das googeln bringt nichts, was ziemlich frustrierend ist.
* PS: Wie finden Sie heraus, welche Bibliotheken ein POSIX-Header benötigt?
Lösung: Das Problem liegt daran, dass ich mit --std=c11
kompilieren. Diese Frage beschreibt das Problem und die Lösung: Why does C99 complain about storage sizes?
Verwenden Sie Grep und führen Sie es durch den Ordner lib;) – t0mm13b