2009-06-07 5 views
1

Ich versuche, ein Programm zu schreiben, das fattach verwendet, aber der Compiler sagt fattach nicht implementiert. Ich habe die Header-Datei stropts.h aufgenommen. was soll ich machen?Wie kompiliere ich c-Code mit fattach()

+1

Sehr interessante Fehler vom Compiler: -o Ich würde etwas wie "undefined Verweis auf Fattach" von Linker erwarten. – qrdl

Antwort

0

Ihre zwei Hauptoptionen sind, soweit ich das beurteilen kann, das Neuschreiben Ihres Codes, damit Sie nicht fattach() verwenden oder auf eine Kernel-Version 2.4.5 oder niedriger herunterstufen.

Andere Optionen beinhalten, dass jemand darauf wartet, fattach() Unterstützung für aktuelle Kernel zu schreiben und einen Patch selbst zu senden.

1

Die fattach()-Funktion befindet sich in der Single Unix Specification, ist jedoch als veraltet gekennzeichnet, was bedeutet, dass sie aus einer zukünftigen Version des Standards entfernt wird. Es ist Teil der optionalen XSI STREAMS-Funktionalität.

Folglich sollten Sie planen, Ihren Code neu zu schreiben, so dass er fattach() nicht verwendet; Im Laufe der Zeit werden immer weniger Systeme die Funktion unterstützen. (Oder, Sie müssen hart Lobby, um es wieder herzustellen.)

In der Zwischenzeit müssen Sie herausfinden, welche Bibliothek die fattach() Funktion enthält und damit verknüpfen. Wenn keine Bibliothek es enthält, müssen Sie herausfinden, ob es eine optional installierbare Bibliothek gibt, die es enthält, und diese installieren.

Wenn diese Optionen fehlschlagen, müssen Sie auf diesem Gerät wahrscheinlich ganz verzichten. Denken Sie daran, wie die Dinge in Zukunft funktionieren werden.