Forum: Compiler & IDEs #error "Never use <bits/fcntl.h> directly; include <fcntl.h>


von macke_a (Gast)


Lesenswert?

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

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Sieh Dir mal Deinen Include-Pfad an, vielleicht steht da ja das 
Verzeichnis "bits" mit drin.

von macke_a (Gast)


Lesenswert?

Das einzigste was ich in dem Pfad noch gefunden habe war ftcbits.h ,
aber daran wird es wohl nicht liegen...denke ich !

von macke_a (Gast)


Lesenswert?

Also es gibt einen Ordner bits,
der beinhaltet die Datei fcntl.h !

Kann das irgendwas zu bedeuten haben ??

von yalu (Gast)


Lesenswert?

Also bei mir, der ich die glibc 2.6.1 installiert habe, ist
/usr/include/fcntl.h die einzige Datei, die /usr/include/bits/fcntl.h
includet. Das ist auch richtig so. Die Fehlermeldung erscheint nur
dann, wenn /usr/include/bits/fcntl.h includet wird, ohne dass zuvor
_FCNTL_H definiert wird. Da dies aber in /usr/include/fcntl.h
passiert, du in deinem Programm nur <fcntl.h> includest und der
Includepfad nicht das Verzeichnis /usr/include/bits enthält, hat die
Fehlermeldung vielleicht einen der folgenden Gründe:

- Du includest ein Headerfile von irgendeiner Bibliothek, das
  seinerseits direkt oder indirekt (über weitere Header-Files)
  bits/fcntl.h includet. Möglicherweise ist diese Bibliothek mit einer
  älteren Version der glibc entwickelt worden, wo das direkte Includen
  von bits/fcntl.h noch nicht angeprangert wurde.

- Die Installation deines gcc oder der glibc ist krumm.

Erscheint der Fehler auch dann, wenn du in einem (nahezu leeren)
Testprogramm nur <fcntl.h> includest?

Ach, jetzt sehe ich gerade, dass du Dev-C++ (ich nehme an unter
Windows) verwendest 8-o ... schlecht aufgepasst ...

Macht aber nix, das oben geschriebene gilt trotzdem, nur dass /usr
wahrscheinlich durch den Installationspfad von Mingw ersetzt werden
muss.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.