【问题标题】:Device input event using libevdev in C++在 C++ 中使用 libevdev 的设备输入事件
【发布时间】:2018-06-17 23:54:42
【问题描述】:

我正在尝试从 Raspberry Pi 触摸屏获取触摸事件。我使用 python 中的 FT5406 驱动程序和 C 中的 evtest 使它工作。但是,我想用 C++ 编写代码。我注意到 libevdev 在 C 中非常有用,但是当我在 C++ 中调用它时,就像

#include <libevdev/libevdev.h>

它总会给我

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

我手动安装 libevdev 并将其保存在我的代码路径下并提供该库的完整路径,但同样的事情发生了。

我也按照link的方法试了一下,问题依旧。

我已经安装了对应的包:

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

有人可以帮帮我吗???

【问题讨论】:

  • 你是如何编译代码的?
  • 显示你的 Makefile

标签: c++ raspberry-pi touchscreen touch-event evdev


【解决方案1】:

这完全取决于您如何设置包含搜索路径,因为使用 #include &lt;my_file&gt; 不会搜索当前目录。为此,您必须使用 #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。

【讨论】:

    【解决方案2】:

    刚刚遇到同样的问题。只需找到头文件的正确路径即可。

    sudo find / -name libevdev.h
    

    然后包含从包含目录开始的路径。我的是:

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

    所以我的包含行是:

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

    【讨论】:

      猜你喜欢
      • 2014-05-30
      • 1970-01-01
      • 1970-01-01
      • 2016-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-10
      • 2017-12-17
      相关资源
      最近更新 更多