임베디드 | 라즈베리파이 | ARM | 리눅스 | Qt | 딥러닝


리눅스에서 Makefile 생성후 실행했더니

arch headers error 2 라는 에러가 나타났다.


리눅스 커널 헤더 파일을 설치해보라고 해서 해도 안된다.




obj-m := hello.o # Module Name is hello.c


KDIR  := /lib/modules/$(shell uname -r)/build


all:

$(MAKE) -C $(KDIR) M=$(PWD) modules


clean:

$(MAKE) -C $(KDIR) M=$(PWD) clean

$(RM) Module.markers modules.order


위와 같이 코드를 수정해보라고 하였으나 위에 처럼 하여도 에러가 생김

이유인즉 .ko 파일로 만들고자하는 .c 파일이 있는 폴더를 지정해주어야함

또한 위 $(KDIR)과 /lib/modules/{이곳}/ 폴더의 이름이 다를 수 있다


결론은 : Makefile의 제대로된 설정이 필요하다.