LINUX.ORG.RU

Вопрос о заголовочных файлах


0

0

Компилил простой примерчик из Linux kernel module programmers guide. Были траблы, но с ними вроде разобрался. Пришлось сделать: в /usr/include/linux/version.h почему то было 2.4.9.9(почему?), а /usr/src/2.4.18-3/include было "2.4.18-3custom". Была ошибка что модуль откомпилен для 2.4.9.9 а ядро 2.4.18-3. Изменил /usr/include/linux/version.h на 2.4.18-3 и скопировал некоторые .h файлы из /usr/src/2.4.18-3/include в /usr/src/2.4.18-3/include. Возможно это и неправильно. Если да то почему? Думаю так потому что серьезный модуль который по идее должен работать - не компилится.

anonymous

Кстати почему .h файлы пришлось копировать. При компиляции указывал -I/usr/src/'uname -r'/include , но все равно выдывалось что ошбики в /usr/include/linux, думаю что .h файлы юзались отсюда

anonymous
()
Ответ на: комментарий от anonymous

так может быть надо было что-то типа
-I/lib/modules/`uname -r`/build/include
?
или у тебя исходники лежат типа в /usr/src/2.4.25 а не в /usr/src/linux-2.4.25
?

Dead ★★★★
()

У gcc есть стандартные места, где он ищет хэдэры. В первою очередь это - /usr/include.

Обойти это можно опцией -nostdinc. В этом случае по стандартным местам хэдэры не ищутся

Kirill
()
Ответ на: комментарий от Kirill

Все трабл решен при компиляции указал: -isystem /lib/modules/`uname -r`/build/include. Читал новую версию LKMPG. В стапрой все было для ядер 2.2.х

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.