디바이스 모듈 프로그래밍 할때 질문입니다.
학교 과제로 커널 2.4에서 과제를 하고 있습니다.
이중 소스코드에 file.h 를 참조해야할 경우가 있어
#include 를 추가하고
gcc -c -D__KERNEL__ -DMOUDLE -Wall test.c
로 컴파일 하는데요
/usr/include/linux/file.h: In function 'set_close_on_exec':
/usr/include/linux/file.h:23: 'current' undeclared (first use in thist function)
/usr/include/linux/file.h:24:dereferencing pointer to incomplete type
/usr/include/linux/file.h:26:dereferencing pointer to incomplete type
/usr/include/linux/file.h:28:dereferencing pointer to incomplete type
/usr/include/linux/file.h:29:dereferencing pointer to incomplete type
/usr/include/linux/file.h: In function 'fcheck_files':
/usr/include/linux/file.h:34: 'NULL' undeclared (first use in this function)
이런식으로 쭈욱 에러메세지가 나옵니다. 어떠한 헤더 파일들 참조가 잘못 되어 그런것인가요?
current는 sched.h 에 있을거 같아 인클루트 시켰는데도 똑같은 에러가 뜨네요... ㅜㅜ 답변 부탁드리겠습니다. 감사합니다.
linux kernel header 추가해 보세요.
gcc -c -D__KERNEL__ -DMOUDLE -Wall test.c -I$(KERNEL_DIR)/include
댓글 달기