Помогите найти linux / version.h

Я пытаюсь исправить старую программу. Предыдущие проблемы, с которыми я столкнулся, можно найти по адресу Missing modversions.h

. Когда я make запускаю программу, она выдает мне следующую ошибку ,

kaodv-mod.c:22:27: fatal error: linux/version.h: No such file or directory
compilation terminated.

Итак, я запустил

find / -name version.h

, который возвращает

/opt/VBoxGuestAdditions-4.3.2/src/vboxguest-4.3.2/vboxguest/include/VBox/version.h
/usr/include/linux/dvb/version.h
/usr/include/linux/version.h
/usr/src/linux-headers-3.8.0-29-generic/include/config/arch/want/ipc/parse/version.h
/usr/src/linux-headers-3.8.0-29-generic/include/generated/uapi/linux/version.h
/usr/src/linux-headers-3.8.0-29/include/uapi/linux/dvb/version.h
/usr/src/linux-headers-3.8.0-29/include/xen/interface/version.h

Это ясно доказало, что linux/version.h присутствует

чтобы исправить это, я должен изменить

#include<linux/version.h>

на

#include</usr/include/linux/version.h>

или можно ли внести изменения в Makefile

PS: Makefile

4
задан 13 April 2017 в 15:23

3 ответа

Сначала вам нужно установить заголовки ядра

sudo apt-get install linux-headers-$(uname -r)

Если это не сработает, попробуйте также

sudo ln -s /usr/src/linux-headers-$(uname -r)/include/generated/uapi/linux/version.h /usr/src/linux-headers-$(uname -r)/include/linux/version.h

Отредактировано для types.h:

sudo ln -s /usr/src/linux-headers-$(uname -r)/include/uapi/asm-generic/types.h /lib/modules/$(uname -r)/build/include/uapi/linux/types.h
0
ответ дан 13 April 2017 в 15:23

С помощью apt-file вы можете найти любой файл, который предоставляет Ubuntu:

$ apt-file search linux/version.h
gcc-arm-linux-androideabi: /usr/arm-linux-androideabi/include/linux/version.h
linux-headers-3.11.0-11-lowlatency: /usr/src/linux-headers-3.11.0-11-lowlatency/include/generated/uapi/linux/version.h
linux-headers-3.11.0-12-generic: /usr/src/linux-headers-3.11.0-12-generic/include/generated/uapi/linux/version.h
linux-headers-3.4.0-1-goldfish: /usr/src/linux-headers-3.4.0-1-goldfish/include/linux/version.h
linux-libc-dev: /usr/include/linux/version.h
linux-libc-dev-arm64-cross: /usr/aarch64-linux-gnu/include/linux/version.h
linux-libc-dev-armel-cross: /usr/arm-linux-gnueabi/include/linux/version.h
linux-libc-dev-armhf-cross: /usr/arm-linux-gnueabihf/include/linux/version.h
linux-libc-dev-powerpc-cross: /usr/powerpc-linux-gnu/include/linux/version.h
ruby1.8-dev: /usr/lib/ruby/1.8/i686-linux/version.h

Из этого списка linux-libc-dev выглядит как наиболее перспективный кандидат.

0
ответ дан 13 April 2017 в 15:23
  • 1
    Что относительно удобства использования Рабочего стола Ubuntu 14.04 на Nexus 7? В ссылке GitHub из ответа bseibold говорится это " Настольная среда Единицы является очень ошибочной, медленной, и просто не хорошая подгонка на Nexus 7" – Jaime M. 24 March 2016 в 02:23

Нет никакого include/generated/uapi/linux/version.h в дереве исходного кода, начинающем с ядра Linux 4.14;

Вот путь, как генерировать его при Установке Ubuntu

  1. , заголовки Linux

    sudo apt install linux-headers-`uname -r`
    
  2. Переходят к каталогу

    cd /usr/src/linux-headers-`uname -r`
    
  3. заголовков Linux, Генерируют , version.h

    sudo make include/generated/uapi/linux/version.h
    
  4. Создает ссылку символа для генерации файла

    sudo ln -s $PWD/include/generated/uapi/linux/version.h include/version.h
    
0
ответ дан 9 October 2019 в 09:09

Другие вопросы по тегам:

Похожие вопросы: