dev-img.binのインクルードについて
昨日の続きです。dec-img.binの環境でインクルードパスを明示的に指定しないとhello.cがコンパイルできない件について、にゃののんさんよりコメントを頂き原因がわかりました。
原因はgcc-cplus_2.95.1-dev-1_arm.ipkのインストールの際に/opt/QtPalmtop/includeへのリンクを/usr/local/includeとして作成するのですが、事前に/usr/local/includeが存在していたのでリンクが作成できない為でした。
/usr/local/includeを確認したところ辞書検索ソフトのzten改で使用しているebおよびzlib-ebをインストールすることでここにヘッダーファイルが置かれるということが判りました。試しにebとzlib-ebをアンインストールをした状態でgcc-cplusをインストールを行ったところ正常にリンクが作成されました。
正常にコンパイルを行う対策として以下の操作を行ってみました。
- eb関連のヘッダーファイルは必要ないので元々の/usr/local/includeを丸ごと削除、あるいは別名にする
- 改めて/opt/QtPalmtop/includeへのリンクを貼る
# ln -s /opt/QtPalmtop/include /usr/local/include
別にzlibを使用している場合は、上の環境ではzlib-ebとzlibのヘッダファイルのインストール場所が同一になってしまうので、これらのファイルを使用する場合は各々のインストール/アンインストール時に注意が必要になります。
恐らくcramfs版でもインクルードで問題が生じたのも同じ原因だと思います。