- ベストアンサー
linux/module.h インクルードできない
- linux/module.h インクルードできないエラーが発生する原因として考えられることについて解説します
- Ubuntu 12.10環境でlinux/module.hをインクルードする際に発生するエラーの解決方法について解説します
- linux/module.h ファイルが存在するのにインクルードできないエラーが発生する場合、パスの指定が誤っている可能性があります
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
コンパイル時のコマンドラインはどんな感じなんでしょう? makeを使用しているのならば、そのMakefileの内容はどうなっていますか? インクルードファイルのディレクトリを指定するコマンドラインスイッチなりあるかと思われますが、 /usr/src/linux-source-3.5.0/include は指定されてますか? # シンボリックリンクで指定されていても良いのですが……。
その他の回答 (1)
- Wr5
- ベストアンサー率53% (2173/4061)
元にしたページは http://homepage3.nifty.com/rio_i/lab/driver24/001module.html ですかね? こちらはカーネル2.4向けのページみたいですから、作成するモジュールの拡張子には気をつける必要がありますけど。 # 2.6からはカーネルモジュールの拡張子は.koになっているハズです。 # /lib/modules辺りに各バージョンのカーネルモジュールが入っているでしょうから覗いてみるとよいでしょう。 ちなみに…… 特にインクルードファイルのディレクトリを指定しなかった場合、gccだと/usr/include辺りがデフォルトで指定されていたかと思われます。 http://okwave.jp/qa/q4149026.html というワケで、/usr/src/linux-source-3.5.0/include/linuxへのシンボリックリンクを/usr/include/linuxに作成すると、指定なしでも参照してくれるかも知れません。 # が…/usr/includeとか不用意にいぢるのは避けた方が良いかと思われます。
お礼
回答ありがとうございます。 Wr5さんにも言っていただいたことですが、シンボリックリンクについて助言していただきありがとうございます。 まだLinux環境でのプログラミングは初心者で、gccのデフォルトインクルードディレクトリも知りませんでした。 学ぶことがまだまだ多い状況ですが、すばやい回答本当に有難うございました。
お礼
回答ありがとうございます。 インストール後、シンボリックリンクを貼ってみましたが、うまくいきませんでした・・・。 いまだ解決できずにいますが、すばやい回答本当にありがとうございました。