/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私はあなたがカーネルの外側のプログラムでそれらを使用したいと仮定しています。

次の2つのソリューションがあります。

  • プログラムライセンスがカーネルライセンスと互換性がある場合は、以下をコピーできます。lib/crc32.cあなたのプロジェクトに合わせて調整してください。
  • CRC32の他の実装も使用できます(ターゲットと互換性があると仮定)。宿異なるライセンスを持つものが1つあります。

おすすめ記事