Linux Header inkludieren

Gast #2775377
Lesenswert?

Hallo,

ich spiel gerade etwas mit make und gcc herum  (Kubuntu 12.04) und 
wollte für einen Test einen Linux Kernel Header inkludieren, zB 
<linux/module.h>

Ich rufe make auf und erhalten dann leider die Mitteilung dass module.h 
nicht gefunden werden kann.

Ein gcc-Aufruf mit -v -E brachte Klarheit:
1
#include <...> search starts here:
2
 /usr/lib/gcc/x86_64-linux-gnu/4.6/include
3
 /usr/local/include
4
 /usr/lib/gcc/x86_64-linux-gnu/4.6/include-fixed
5
 /usr/include/x86_64-linux-gnu
6
 /usr/include
7
End of search list.

Wie teile ich make oder gcc mit, in /usr/include/linux zu suchen?
Am Besten auf möglichst eleganten Weg, ich könnte ja natürlich auch wie 
wild alles in PATH mit aufnehmen, aber das halte ich nicht für 
sinnvoll...

Absolute Adressierung direkt im .c File?
Irgendwo im Makefile?

Sorry für die evtl. dumme Frage, aber ich fange erst an, mich genauer 
mit der Toolchain zu beschäftigen...
Gast #2775637
Lesenswert?

Masl schrieb:
> Wie teile ich make oder gcc mit, in /usr/include/linux zu suchen?

gcc -I /usr/include/linux

Aber bist du sicher, daß die Datei tatsächlich 
/usr/include/linux/linux/module.h heißt? Und daß sie überhaupt da ist? 
Bei mir ist die nicht vorhanden. Ich vermute, daß sie bei den 
kernel-headers nicht dabei ist. Vielleicht hilft auch das hier: 
http://forum.kernelnewbies.org/read.php?10,102

> Am Besten auf möglichst eleganten Weg, ich könnte ja natürlich auch wie
> wild alles in PATH mit aufnehmen, aber das halte ich nicht für
> sinnvoll...

Was sollte das auch bringen? Beim Suchen nach Headern ist dem Compiler 
völlig egal, was du in PATH stehen hast.

> Absolute Adressierung direkt im .c File?

besser nicht.

> Irgendwo im Makefile?

Da nimmt man sowas üblicherweise in die CFLAGS mit auf.
Gast #2775727
Lesenswert?

Ja, in der Tat war mein Fehler, dass die Datei nicht mehr existiert.

Ich hab mir die zweite Auflage des Buches "Linux Gerätetreiber" ausn 
O'Reilly Verlag angeschaut, die aber nur bis Kernel 2.4 gilt.
Aber seit damals hat sich ja einiges getan...

Ansonsten danke dir, dass mit den CFLAGS ist interessant, bin ja grade 
am einarbeiten mit makefiles...

Ansonsten dachte ich immer dass PATH bei sämtlichen Suchvorgängen mit 
einbezogen wird. Wieder was gelernt :-)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren