Используемые вами заголовочные файлы предназначены для внутреннего использования ядра Linux.Они не были предназначены для использования программой пользователя.
Если вы ДОЛЖНЫ использовать эти заголовки (реализация списка ядра Linux is brilliant), скопируйте заголовки висходный каталог вашей программы.Скопируйте каждый файл, на который есть ссылка, отредактируйте каждый, чтобы удалить любые предположения об использовании в ядре, и повторяйте до тех пор, пока вы не закончите.Я мог бы предложить создать свой собственный макрос prefetch()
, который просто ничего не делает, вместо того, чтобы пытаться распутать <linux/prefetch.h>
.Сделайте то же самое для <linux/poison.h>
и распутайте <linux/types>
и <linux/stddef.h>
(здесь не так уж сложно :) как можно лучше.
А также убедитесь, что вы лицензировали свой проект GPLv2 (и, в частности, GPLv2,Файл COPYING ядра Linux является довольно строгим, поскольку GPLv2 является единственной применимой лицензией, ведутся споры о том, разрешает ли GPL указывать только одну версию, но какую лицензию Линус выбрал давным-давно, и лицензию, которая действительна для всех файлов, если не указано иное).