Dieter Rauschenberger <dr(at)d-ra.de> wrote:
> ich denke folgendes Problem kann ein BSD C-Programmierer lösen:
Das hat eigentlich nichts mit BSD zu tun.
> Ich wollte den Port audio/jack bauen (Version 0.99.0), da portversion
> ihn als veraltet meldete. Beim Compilieren brach das make in der Datei
> drivers/oss/oss_driver.c im Header <sys/soundcard.h> ab. Es wurden
> folgende Bezeichner angemeckert:
>
> u_long
> u_char
> u_short
> u_int
> [...]
> Jetzt meine Fragen:
>
> * Wie müsste man das Ganze fachgerecht angehen?
Den Autor der include-Datei mit einem dicken Buch hauen,
auf dem vorne »IEEE Std 1003.1-2001« draufsteht.
> * Was bedeutet das __BSD_VISIBLE
> * Wenn das __BSD_VISIBLE==TRUE sein müsste, an welcher Stelle müsste man
> das definieren? Irgendwo im Makefile? In welchem?
Es ist per default 1 (»true«), es sei denn, daß irgendwo im
Anwendungssource _ANSI_SOURCE definiert wird. Für die mei-
sten Dinge sollte man das tunlichst unterlassen.
Das ändert aber nichts daran, daß u_long usw. kein Standard
sind. Wenn man sie (als Programmierer) braucht und zum Tip-
pen von »unsigned long« zu faul ist, sollte man sich selbst
etwas Geeignetes typedef'en, oder die Standard-Typen aus
<stdint.h> verwenden.
In Deinem konkreten Fall guck mal nach, ob irgendwo _ANSI_-
SOURCE definiert wird. Wenn ja, patche das raus.
Gruß
Olli
-- Oliver Fromme, secnetix GmbH & Co KG, Oettingenstr. 2, 80538 München Any opinions expressed in this message may be personal to the author and may not necessarily reflect the opinions of secnetix in any way. "C++ is the only current language making COBOL look good." -- Bertrand Meyer To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org with "unsubscribe de-bsd-questions" in the body of the messageReceived on Tue 05 Apr 2005 - 18:15:48 CEST