実現したいこと
ここに実現したいことを箇条書きで書いてください。
- Raspberry Pi OSでGPIO割り込みを使用したくてC言語から pigpio を使用したいのですが
/usr/includeにある pigpio.h
が以下の指定で include されません。
#include <pigpio.h>
makeの問題?なのかgccの問題なのか?判断できません。
添付のMakefileで
/usr/include (進展によっては他のpathも追加の可能性がありますが)
をinclude pathに追加する方法を教えてください。
前提
Makefileは以下となります。
MODULEDIR = /lib/modules/uname -r
/build
obj-m := gpiodrv.o
modules:
$(MAKE) -C $(MODULEDIR) M=pwd
modules
clean:
$(MAKE) -C $(MODULEDIR) M=pwd
clean
発生している問題・エラーメッセージ
make -C /lib/modules/uname -r
/build M=pwd
modules
make[1]: Entering directory '/usr/src/linux-headers-6.6.51+rpt-rpi-v8'
CC [M] /home/foo/work/isr/gpiodrv.o
/home/foo/work/isr/gpiodrv.c:24:10: fatal error: pigpio.h: No such file or directory
24 | #include <pigpio.h> // <2>
| ^~~~~~~~~~
compilation terminated.
該当のソースコード
#include <linux/init.h>
#include <linux/module.h>
#include <linux/kernel.h> // printk ();
#include <linux/fs.h> // everything
#include <linux/errno.h> // error codes
#include <linux/types.h> // size_t
#include <linux/fcntl.h> // O_ACCMODE
// #include <asm/system.h> // cli(); *_flags
#include <asm/uaccess.h> // copy_from/to_user
#include <linux/cdev.h> // cdev struct.
#include <linux/interrupt.h> // For int
#include <linux/gpio.h> // For GPIO
#include <pigpio.h> // <2>
#include <asm/io.h>
MODULE_LICENSE ("Dual BSD/GPL");
C言語
試したこと
ここに問題に対して試したことを記載してください。
makeを使用せず gcc でコマンドラインコンパイルを行うと /usr/include は参照して pigpio.h はinclude するのですが
#include <linux/init.h>
をincludeできず fatal error となります。
補足情報(FW/ツールのバージョンなど)
$ uname -a
Linux rp4r 6.6.51+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.6.51-1+rpt3 (2024-10-08) aarch64 GNU/Linux
$ make --version
GNU Make 4.3
Built for aarch64-unknown-linux-gnu
Copyright (C) 1988-2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
gcc --version
gcc (Debian 12.2.0-14) 12.2.0
Copyright (C) 2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
回答1件
あなたの回答
tips
プレビュー