2

シリアル デバイス用のドライバーをインストールしようとしていますが、インストール実行可能ファイルを実行すると、次のエラーが発生します。

cc -DLINUX -c -DMODVERSIONS -DMODULE -D__KERNEL__ -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -pipe -m64 -mcmodel=kernel -I/usr/src/linux-3.8.0-27-generic/include -I/usr/src/linux-2.4/include -I/usr/src/linux/include -D__SMP__ npreal2.c
npreal2.c:40:31: **fatal error: linux/modversions.h: No such file or directory**
compilation terminated.

フォーラムを検索しても、これに対する解決策が見つかりません。に modversions.h があることに気付きましたが/usr/src/linux-3.8.0-27-generic/include/config、linux フォルダーにはありません。

助けてください!

4

3 に答える 3

0

Linux ディレクトリ (通常は usr/src/linux) に移動することで、システムの modversion をコンパイルできます。Linux のソース ディレクトリ内に、Rules.make というファイルがあるはずです。このメイク ファイル内には、modversions.h を作成するためのビルド コマンドが含まれています。次を実行して作成できます。

 make update-modverfile

これで modversions.h ライブラリが作成されますが、このファイルが依存するライブラリよりも新しいコンパイラでコンパイルすると、このヘッダーを使用するプログラムを実行しようとすると、何度もエラーが発生します。これはその後、悪夢に変わります。

于 2013-08-15T20:01:19.017 に答える