Событие ввода устройства с использованием 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.