#error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."



  • Hallo !
    Ich habe die folgende Fehlermeldung bei mir im Dev-C++ Compiler stehen.

    Ich verwende in meinem C++ Quelltext ausschließlich include <fcntl.h>

    Trotzdem kommt diese Fehlermeldung! Was ist da los?

    Gruss macke_a



  • Hi,

    hast Du in Deinem Includepfad auch das "bits"-Verzeichnis drin ? Vielleicht VOR dem der eigentlichen Aunwendung ?

    Gruß,

    Simon2.



  • Schlimmer - er hat anscheinend die bits\fcntl.h ins Include-Verzeichnis kopiert, weil er die echte fcntl.h nicht gefunden hat:

    macke_a schrieb:

    Es kann wohl sein, dass ich die Datei dort her habe so genau weis ich das nicht mehr! Kann das ein Problem sein ?

    (aus "C Datei mit C++ verlinken")

    Randfrage: Woher stammt dieser Header und welche Aufgabe hat er?



  • CStoll schrieb:

    Randfrage: Woher stammt dieser Header und welche Aufgabe hat er?

    Er stammt aus der POSIX-Welt und hat die Aufgabe, die Funktion fcntl und dazugehörige Makros zu deklarieren. Mit ihr kann man Flags (Close-on-Exec, Nonblocking, Status, Locks) von geöffneten Dateihandles zu lesen oder zu setzen.

    Das POSIX-Subset, was beim MSVCRT enthalten ist, scheint fcntl nicht zu kennen.


Anmelden zum Antworten