/usr/include/linux에 Linux 커널 crc32.h가 없습니다.

/usr/include/linux에 Linux 커널 crc32.h가 없습니다.

Linux 커널 crc32 빌드 도구를 사용하려고 합니다. 전송 방법에 관계없이 유선을 통해 임베디드 시스템으로 전송하려면 일부 데이터를 crc32해야 합니다. 임베디드 시스템에는 커널과 동일하거나 매우 유사한 방식으로 데이터의 CRC32를 계산하는 CRC32 엔진이 있습니다. 그러나 커널과 관련된 모든 crc 관련 헤더는 /usr/include/linux에 없으며 수동으로 헤더를 배치하려고 하면 컴파일 타임 오류가 발생합니다. 관련 헤더가 없거나 매크로가 누락되었습니다.

일부 검색을 수행해도 유용한 결과가 나오지 않습니다.

답변1

커널의 CRC 기능은 커널(모듈 포함)에서 사용할 수 있지만 다른 곳에서는 사용할 수 없습니다. 당신이 그것을 언급하고 있기 때문에 /usr/include/linux나는 당신이 커널 외부의 프로그램에서 그것들을 사용하고 싶다고 가정하고 있습니다.

다음 두 가지 솔루션을 사용할 수 있습니다.

  • 프로그램 라이센스가 커널 라이센스와 호환되는 경우 다음을 복사할 수 있습니다.lib/crc32.c귀하의 프로젝트에 맞게 조정하십시오.
  • CRC32의 다른 구현을 사용할 수 있습니다(대상과 호환된다고 가정).주쿠다른 라이센스를 가진 것이 하나 있습니다.

관련 정보