모듈 컴파일 문제: "대상 생성 규칙이 없습니다."

모듈 컴파일 문제: "대상 생성 규칙이 없습니다."

example1.c라는 커널용 간단한 모듈의 소스 코드를 만들었습니다.



  #include linux/module.h

 static int __init _init_(void)
 {
 printk(KERN_INFO"Hello");
 return 0;
 }

 static void __exit _exit_(void)
 {


 printk(KERN_INFO"bye\n");
 }

 module_init(_init_);
 module_exit(_exit_);

나중에 이 방법으로 컴파일하여 개체 파일을 만들고 싶습니다(example1.o를 의미합니다).


gcc -Wall -o example1.c example1

하지만 그렇게 할 수 없습니다. 이런 오류가 발생합니다.


example1: file not recognized: file format not recognized

답변1

exampleone대신 출력하면 더 이상 얻지 못합니다 .example1gcc example1.c -o exampleone

gcc: error: gcc: No such file or directory
gcc: error: example1: No such file or directory
gcc: fatal error: no input files

코드를 직접 컴파일할 때 다음 오류가 발생합니다.

example1.c:1:11: error: #include expects "FILENAME" or <FILENAME>
    1 |  #include linux/module.h
      |           ^~~~~
example1.c:3:20: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘_init_’
    3 |  static int __init _init_(void)
      |                    ^~~~~~
example1.c:9:21: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘_exit_’
    9 |  static void __exit _exit_(void)
      |                     ^~~~~~
example1.c:16:2: warning: data definition has no type or storage class
   16 |  module_init(_init_);
      |  ^~~~~~~~~~~
example1.c:16:2: warning: type defaults to ‘int’ in declaration of ‘module_init’ [-Wimplicit-int]
example1.c:16:2: warning: parameter names (without types) in function declaration
example1.c:17:2: warning: data definition has no type or storage class
   17 |  module_exit(_exit_);
      |  ^~~~~~~~~~~
example1.c:17:2: warning: type defaults to ‘int’ in declaration of ‘module_exit’ [-Wimplicit-int]
example1.c:17:2: warning: parameter names (without types) in function declaration

문제가 해결되면 알려주세요. 그렇지 않은 경우 알려주시면 이 답변을 삭제하겠습니다. 마지막으로, 터미널의 올바른 디렉토리에 있는지 확인하세요.

관련 정보