Событие ввода устройства с использованием libevdev в C++

Я пытаюсь получить сенсорное событие от Raspberry Pi Touchscreen. Я заставил его работать с помощью драйвера FT5406 в python и evtest в C. Однако я хочу написать код для этого на C++. Я заметил, что libevdev очень полезен в C, но когда я вызываю его в C++,

#include <libevdev/libevdev.h>

это всегда даст мне

Fatal error: libevdev/libevdev.h: No such file or directory

Я вручную устанавливаю libevdev и сохраняю его под путем моего кода и предоставляю полный путь к этой библиотеке, но происходит то же самое.

Я также пытаюсь метод по ссылке, проблема все еще здесь.

Я уже установил соответствующий пакет:

sudo apt-get install libevdev-dev
sudo apt-get install libudev-dev

Кто-нибудь может мне помочь???

2 ответа

Просто была такая же проблема. Просто найдите правильный путь к заголовочному файлу.

      sudo find / -name libevdev.h

Затем включите путь, начинающийся с каталога include. Мой был:

      /usr/include/libevdev-1.0/libevdev/libevdev.h

Итак, моя строка включения была:

      #include <libevdev-1.0/libevdev/libevdev.h>

Все зависит от того, как вы настраиваете пути поиска include, например, используя #include <my_file>не будет искать в текущем каталоге. Вам придется использовать#include "my_file" для этого.

В любом случае, не копируйте текущий каталог, просто укажите правильные пути.

gcc my_code.c $(pkg-config --cflags --libs libevdev)

Если pkg-config расширится до чего-то вроде -I/usr/include/libevdev-1.0/ -levdev, где libev-dev-1.0 имеет подпапку libevdev.

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