hakeの日記

Windows環境でプログラミングの勉強をしています。

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版でもインクルードで問題が生じたのも同じ原因だと思います。